time="2025-03-25T13:18:30Z" 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-gateway-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-03-25T13:19:22Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:41958","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-03-25T13:19:23Z"} authorization-1 | {"client_addr":"127.0.0.1:41958","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.233335,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:23Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1742908763.5239155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1742908763.5239966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1742908763.524021} 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":1742908763.5240505} 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":1742908763.5240836} 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":1742908763.5241346,"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":1742908763.5246317} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1742908763.5262597} 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:51792","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-03-25T13:19:23.562449595Z","id":"01JQ6QABDAEXHD01YETTNPRWWV","name":"crosslab","updated_at":"2025-03-25T13:19:23.562449595Z"},"request_id":"f1a4493a-ca17-4ff1-951d-1b3e6e04c31f","subsystem":"openfga","timestamp":1742908763.5625427} 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:51792","raw_request":{"schema_version":"1.1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JQ6QABEZZQZ2B1HPT52A1ZD7"},"request_id":"49cf7be4-94b3-43e4-b1c6-6c6eb0cc4355","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908763.6152115} authorization-1 | {"client_addr":"127.0.0.1:41958","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-03-25T13:19:23Z"} authorization-1 | {"client_addr":"127.0.0.1:41958","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.177755,"resp_status":204,"subsystem":"opa","time":"2025-03-25T13:19:23Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.2.0/opa_linux_amd64","latest_version":"1.2.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.2.0","subsystem":"opa","time":"2025-03-25T13:19:23Z"} gateway-1 | {"time_local":"25/Mar/2025:13:19:38 +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.023","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"8f51bd35d8c45f1190b1febddbaef65f"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 12ms","method":"HEAD","requestID":"8f51bd35d8c45f1190b1febddbaef65f","responseTime":12,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"25/Mar/2025:13:19:38 +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.022","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c61912e57f34c089862e1cb65f92254c"} device-1 | {"level":"info","message":"HEAD /device/status 200 33ms","method":"HEAD","requestID":"cdf8fe00-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"25/Mar/2025:13:19:39 +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.009","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"cf0fbe8c9d16dc226f3506060dbc336b"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 5ms","method":"HEAD","requestID":"cf0fbe8c9d16dc226f3506060dbc336b","responseTime":5,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"25/Mar/2025:13:19:39 +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.031","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c76439c74a2cac71a51051f0212d6e5c"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 28ms","method":"HEAD","requestID":"ce01d7a0-097b-11f0-b82c-4d27147c0b13","responseTime":28,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"25/Mar/2025:13:19:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"175ca38008e3d91e35bc1d080738d00b"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 8ms","method":"HEAD","requestID":"ce07cb10-097b-11f0-b485-e91b18a5098b","responseTime":8,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"25/Mar/2025:13:19:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ff4b1463656bb88e92aa7ebfe1a0a87"} authentication-1 | {"level":"info","message":"POST /login 201 168ms","method":"POST","requestID":"8ff4b1463656bb88e92aa7ebfe1a0a87","responseTime":168,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4Nn0.OWXz6l_ExIOP_Ioa962Ph5HNmPpIsxBnPDkNbGQfzTM","level":"info","message":"auth send jwt","requestID":"d1cb193abad7d6943f561def348a96ec"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"d1cb193abad7d6943f561def348a96ec","responseTime":24,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d1cb193abad7d6943f561def348a96ec"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:46Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.252596,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d1cb193abad7d6943f561def348a96ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908786,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4Nn0.OWXz6l_ExIOP_Ioa962Ph5HNmPpIsxBnPDkNbGQfzTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"d1cb193abad7d6943f561def348a96ec","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8379429c-cb95-4975-a07c-bf79b4dbcc78","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.4364305} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"d1cb193abad7d6943f561def348a96ec","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94f035e5-b1fe-4552-b788-4f79ce84d1af","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.450219} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"d1cb193abad7d6943f561def348a96ec","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"4fb783d0-7efd-48c8-9b75-ddefee9f7f77","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.4667282} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2c15121-f8c5-4347-8046-bae973f1d28f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.4673944} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"d1cb193abad7d6943f561def348a96ec","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.466711847Z"}]},"request_id":"3bc96df4-bfe0-434b-944a-418e6a25ddd3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.4748073} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d1cb193abad7d6943f561def348a96ec","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d1cb193abad7d6943f561def348a96ec"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.260","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1cb193abad7d6943f561def348a96ec"} device-1 | {"level":"info","message":"POST /devices? 201 182ms","method":"POST","requestID":"d1cb193abad7d6943f561def348a96ec","responseTime":182,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4Nn0.OWXz6l_ExIOP_Ioa962Ph5HNmPpIsxBnPDkNbGQfzTM","level":"info","message":"auth send jwt","requestID":"a1cc392b898ad28c32c54ae7e19d516a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1cc392b898ad28c32c54ae7e19d516a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a1cc392b898ad28c32c54ae7e19d516a"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:46Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.759618,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a1cc392b898ad28c32c54ae7e19d516a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908786,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4Nn0.OWXz6l_ExIOP_Ioa962Ph5HNmPpIsxBnPDkNbGQfzTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1cc392b898ad28c32c54ae7e19d516a","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"82587d10-c1b8-4f74-8269-a10adca1ffd0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.555826} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a1cc392b898ad28c32c54ae7e19d516a","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f75fc880-ff3e-4fb5-a577-8362fe014fe5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.5674691} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"a1cc392b898ad28c32c54ae7e19d516a","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"a0e0d9b8-7e57-4059-9995-411798edd099","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.6048138} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc30123d-c03e-44c7-bf73-5dda7eb844c2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.6050663} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"a1cc392b898ad28c32c54ae7e19d516a","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.604797989Z"}]},"request_id":"cca32bcb-f204-47a9-b90d-6da0851929f6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908786.6118572} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a1cc392b898ad28c32c54ae7e19d516a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a1cc392b898ad28c32c54ae7e19d516a"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.112","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1cc392b898ad28c32c54ae7e19d516a"} device-1 | {"level":"info","message":"POST /devices? 201 106ms","method":"POST","requestID":"a1cc392b898ad28c32c54ae7e19d516a","responseTime":106,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c9d2381c8cdd5e1ac5e7b777930abf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c9d2381c8cdd5e1ac5e7b777930abf4","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3389f010b0768dd89b8e125f2b7ca45d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3389f010b0768dd89b8e125f2b7ca45d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:19:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4c9d2381c8cdd5e1ac5e7b777930abf4"} device-1 | {"level":"info","message":"OPTIONS /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/websocket 200 3ms","method":"OPTIONS","requestID":"4c9d2381c8cdd5e1ac5e7b777930abf4","responseTime":3,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:19:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.013","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3389f010b0768dd89b8e125f2b7ca45d"} device-1 | {"level":"info","message":"OPTIONS /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/websocket 200 1ms","method":"OPTIONS","requestID":"3389f010b0768dd89b8e125f2b7ca45d","responseTime":1,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A","level":"info","message":"auth send jwt","requestID":"43fe829a2afcbb5c4d32d785058c8564"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"43fe829a2afcbb5c4d32d785058c8564","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A","level":"info","message":"auth send jwt","requestID":"fde65a658cb73b2dcc6dba1e58b7857f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"43fe829a2afcbb5c4d32d785058c8564"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fde65a658cb73b2dcc6dba1e58b7857f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fde65a658cb73b2dcc6dba1e58b7857f"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846053,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"43fe829a2afcbb5c4d32d785058c8564","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"43fe829a2afcbb5c4d32d785058c8564","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724192,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fde65a658cb73b2dcc6dba1e58b7857f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fde65a658cb73b2dcc6dba1e58b7857f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fde65a658cb73b2dcc6dba1e58b7857f"} gateway-1 | {"time_local":"25/Mar/2025:13:19:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.074","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fde65a658cb73b2dcc6dba1e58b7857f"} device-1 | {"level":"info","message":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/websocket 200 65ms","method":"POST","requestID":"fde65a658cb73b2dcc6dba1e58b7857f","responseTime":65,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"43fe829a2afcbb5c4d32d785058c8564"} gateway-1 | {"time_local":"25/Mar/2025:13:19:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.080","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"43fe829a2afcbb5c4d32d785058c8564"} device-1 | {"level":"info","message":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/websocket 200 70ms","method":"POST","requestID":"43fe829a2afcbb5c4d32d785058c8564","responseTime":70,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A","level":"info","message":"auth send jwt","requestID":"81df413cbfc26b6f8007d773d9f23c46"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81df413cbfc26b6f8007d773d9f23c46","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"81df413cbfc26b6f8007d773d9f23c46"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709323,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"81df413cbfc26b6f8007d773d9f23c46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"81df413cbfc26b6f8007d773d9f23c46","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.466711847Z"}]},"request_id":"3ced23ee-eea8-4a0d-b414-ae390fda86a4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908789.6836836} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"81df413cbfc26b6f8007d773d9f23c46","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"81df413cbfc26b6f8007d773d9f23c46"} device-1 | {"level":"info","message":"GET /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8? 200 41ms","method":"GET","requestID":"81df413cbfc26b6f8007d773d9f23c46","responseTime":41,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8?"} gateway-1 | {"time_local":"25/Mar/2025:13:19:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8? 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":"81df413cbfc26b6f8007d773d9f23c46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A","level":"info","message":"auth send jwt","requestID":"f4a17e67a0f5334dfad6de9f0b22db15"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4a17e67a0f5334dfad6de9f0b22db15","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4a17e67a0f5334dfad6de9f0b22db15"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.740603,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4a17e67a0f5334dfad6de9f0b22db15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4a17e67a0f5334dfad6de9f0b22db15","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.604797989Z"}]},"request_id":"56b0b08d-1a26-4db0-9975-e8505fdf7414","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908789.7319798} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4a17e67a0f5334dfad6de9f0b22db15","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4a17e67a0f5334dfad6de9f0b22db15"} device-1 | {"level":"info","message":"GET /devices/2523736d-a1e4-4e99-af95-2a468fc5225c? 200 16ms","method":"GET","requestID":"f4a17e67a0f5334dfad6de9f0b22db15","responseTime":16,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c?"} gateway-1 | {"time_local":"25/Mar/2025:13:19:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2523736d-a1e4-4e99-af95-2a468fc5225c? 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":"f4a17e67a0f5334dfad6de9f0b22db15"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A","level":"info","message":"auth send jwt","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"173c7292cbd278ccc6904d6091b6b9cf","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.786787,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"173c7292cbd278ccc6904d6091b6b9cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"173c7292cbd278ccc6904d6091b6b9cf","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to run experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to book experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully booked experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d49bc0d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d49c3600-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89902,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d49bc0d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d49bc0d0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.858681,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d49c3600-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d49c3600-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.466711847Z"}]},"request_id":"353a5547-b542-4f70-9995-95d41ae820b3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.1243868} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d49bc0d0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.604797989Z"}]},"request_id":"e6ad83ce-41f4-47d3-b88d-4fd80953a3dc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.1256196} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d49c3600-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d49bc0d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8? 200 25ms","method":"GET","requestID":"d49bc0d0-097b-11f0-96bb-59c96fe0af16","responseTime":25,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d49c3600-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/2523736d-a1e4-4e99-af95-2a468fc5225c? 200 23ms","method":"GET","requestID":"d49c3600-097b-11f0-96bb-59c96fe0af16","responseTime":23,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Setting up experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully set up experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4b192c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4b1e0e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751118,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b207f0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully running experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4b192c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4b192c0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626895,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4b1e0e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4b1e0e0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.509591,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db4ec5dd-852a-40d4-bfc5-d3767068d7f9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.290493} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4b207f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","rebac_allow":false,"scope_allow":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":"d4b207f0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.604797989Z"}]},"request_id":"d281d961-d2bc-47ce-b068-29b4c4d3670f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.2918515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.466711847Z"}]},"request_id":"0f487e19-c1dd-46f0-9710-bd258c1e87b4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.2952383} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"d4b1e0e0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d4b192c0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b207f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling 200 43ms","method":"POST","requestID":"d4b207f0-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b933e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4b1e0e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/2523736d-a1e4-4e99-af95-2a468fc5225c? 200 50ms","method":"GET","requestID":"d4b1e0e0-097b-11f0-96bb-59c96fe0af16","responseTime":50,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4b192c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} device-1 | {"level":"info","message":"GET /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8? 200 54ms","method":"GET","requestID":"d4b192c0-097b-11f0-96bb-59c96fe0af16","responseTime":54,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0ea02ea-5706-4dcf-aef9-14bfb59ec2d8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.3084621} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.860878,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4b933e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","rebac_allow":false,"scope_allow":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":"d4b933e0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4ba9370-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b933e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling 200 37ms","method":"POST","requestID":"d4b933e0-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a43f73d-cece-419f-a774-89873db450c5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.3401635} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.053672,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4ba9370-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","rebac_allow":false,"scope_allow":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":"d4ba9370-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"3cc0dd6f-938f-43dc-8475-91a5a5daa12e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.3432353} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cfe3ca9-3d5f-4f5f-b932-6787dfe44d2b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.3433902} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4ba9370-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling 200 36ms","method":"POST","requestID":"d4ba9370-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 84ms","method":"POST","requestID":"173c7292cbd278ccc6904d6091b6b9cf","responseTime":84,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4c086e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e059a21-8a84-43f2-ba67-92fd4ee8df6a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.3550723} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.562541,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4c086e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4c086e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4c086e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling 200 9ms","method":"POST","requestID":"d4c086e0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.616","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"level":"info","message":"POST /experiments? 201 598ms","method":"POST","requestID":"173c7292cbd278ccc6904d6091b6b9cf","responseTime":598,"status":201,"url":"/experiments?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Building connection plan","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"41e5a2fc-f5c1-4d3b-b93f-d931613bf536"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ca752142-5007-43d6-82b4-d483fa487e88"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a0300923-cae1-4766-adce-4cf5b3cbb94d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ","level":"info","message":"auth send jwt","requestID":"06c2e520eddc995d750babbe16fc9a44"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"06c2e520eddc995d750babbe16fc9a44","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"06c2e520eddc995d750babbe16fc9a44"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.951487,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908789,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc4OX0.hkiFYIF-bm1--2eh95_P2JxTC8ZDqb6x7r6qLqjoN_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731259,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"06c2e520eddc995d750babbe16fc9a44","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908790,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"06c2e520eddc995d750babbe16fc9a44","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.466711847Z"}]},"request_id":"bbee5f68-4f4c-4ad5-b45d-c0ca9a98ca2b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.4078355} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"06c2e520eddc995d750babbe16fc9a44","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"06c2e520eddc995d750babbe16fc9a44"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8? 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":"06c2e520eddc995d750babbe16fc9a44"} device-1 | {"level":"info","message":"GET /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8? 200 38ms","method":"GET","requestID":"06c2e520eddc995d750babbe16fc9a44","responseTime":38,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ","level":"info","message":"auth send jwt","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688629,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908790,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"56b07b9b-1285-4835-825e-034a27450685","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.4502265} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76a01804-7dbc-4d23-817c-33972770c02d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.450602} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:46.604797989Z"}]},"request_id":"36a8fa23-ef47-4e00-82c5-8d6e4282dccf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.4554083} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb'","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2523736d-a1e4-4e99-af95-2a468fc5225c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae"} device-1 | {"level":"info","message":"GET /devices/2523736d-a1e4-4e99-af95-2a468fc5225c? 200 53ms","method":"GET","requestID":"39ea8cdb9fa4b5a83d247fe2915a8cae","responseTime":53,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb'","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 104ms","method":"POST","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16","responseTime":104,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d4c73da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","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/b3549d9e-f260-4c2d-8717-93fb312c47eb","device":"2523736d-a1e4-4e99-af95-2a468fc5225c","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/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"173c7292cbd278ccc6904d6091b6b9cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4df8090-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3544a9ef-782f-4fb9-91fa-d7d2574ed27f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.5816553} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.263617,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4df8090-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","rebac_allow":false,"scope_allow":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":"d4df8090-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4df8090-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling 200 33ms","method":"POST","requestID":"d4df8090-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4e4fed0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16d859ba-5324-4002-9429-b3ec40b2bd31","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.5930896} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.653272,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4e4fed0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4e4fed0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4e4fed0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling 200 9ms","method":"POST","requestID":"d4e4fed0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling"} device-1 | {"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 515249843017388393 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:oNhE\r\na=ice-pwd:hgv2A8/Oyf3eZ7xhQPYCiG8f\r\na=ice-options:trickle\r\na=fingerprint:sha-256 42:87:20:30:32:9C:B2:F7:16:EB:F2:CA:F4:64:86:80:00:39:97:69:F1:89:7B:1C:8B:8A:A7:58:EE:CD:63:8B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7167735080969173034 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:zn9F\r\na=ice-pwd:yrfHzUKXu+CvGquwafhoeOeX\r\na=ice-options:trickle\r\na=fingerprint:sha-256 77:CF:EE:E1:49:4D:2C:CC:62:56:EE:57:11:8C:D1:AD:BE:55:6B:4B:E1:B5:AB:46:02:A5:15:1F:5C:19:D0:ED\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3626687364 1 udp 2113937151 3c70797d-17c7-47ff-9940-6a4c43c3176c.local 45257 typ host generation 0 ufrag zn9F network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","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/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8'"} device-1 | {"content":{"candidate":"candidate:1276536707 1 udp 2113937151 c4893384-21ce-4207-807f-e1524d8af015.local 50455 typ host generation 0 ufrag oNhE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","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/b3549d9e-f260-4c2d-8717-93fb312c47eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b3549d9e-f260-4c2d-8717-93fb312c47eb","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"2523736d-a1e4-4e99-af95-2a468fc5225c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ec6dc19ae2982232ab4c29e105ea9a6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ec6dc19ae2982232ab4c29e105ea9a6","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/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb"}}},"level":"info","message":"received a callback","requestID":"3ec6dc19ae2982232ab4c29e105ea9a6"} device-1 | {"data":{"peerconnection":"b3549d9e-f260-4c2d-8717-93fb312c47eb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"3ec6dc19ae2982232ab4c29e105ea9a6","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ec6dc19ae2982232ab4c29e105ea9a6"} device-1 | {"data":{"peerconnection":"b3549d9e-f260-4c2d-8717-93fb312c47eb","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/b3549d9e-f260-4c2d-8717-93fb312c47eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b3549d9e-f260-4c2d-8717-93fb312c47eb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eede723a6db094bbf7c84c222c26886d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eede723a6db094bbf7c84c222c26886d","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/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb"}}},"level":"info","message":"received a callback","requestID":"eede723a6db094bbf7c84c222c26886d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ","level":"info","message":"auth send jwt","requestID":"aec62a91550f0277eacbcaa88fb4bdc5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d508b370-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aec62a91550f0277eacbcaa88fb4bdc5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","requestID":"aec62a91550f0277eacbcaa88fb4bdc5"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb3549d9e-f260-4c2d-8717-93fb312c47eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15519122-64d7-4277-92ed-cef6592223db","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.8281474} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.538152,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d508b370-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","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":"d508b370-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.552286,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"aec62a91550f0277eacbcaa88fb4bdc5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908790,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aec62a91550f0277eacbcaa88fb4bdc5","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d508b370-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb 200 11ms","method":"GET","requestID":"d508b370-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","requestID":"aec62a91550f0277eacbcaa88fb4bdc5"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aec62a91550f0277eacbcaa88fb4bdc5"} experiment-1 | {"level":"info","message":"GET /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a 200 42ms","method":"GET","requestID":"aec62a91550f0277eacbcaa88fb4bdc5","responseTime":42,"status":200,"url":"/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 82ms","method":"POST","requestID":"eede723a6db094bbf7c84c222c26886d","responseTime":82,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch","requestID":"eede723a6db094bbf7c84c222c26886d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d51117e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27664a38-d504-4f46-8eaf-2f85f556f914","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.8835516} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51446,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d51117e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d51117e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d51117e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling 200 10ms","method":"POST","requestID":"d51117e0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d516bd30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe48bbd3-0b66-4762-a5b4-ca36bee0d418","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908790.9194806} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.261807,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d516bd30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d516bd30-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d516bd30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling 200 9ms","method":"POST","requestID":"d516bd30-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ","level":"info","message":"auth send jwt","requestID":"c322d1b625d7a516e55c84e67c14a4e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c322d1b625d7a516e55c84e67c14a4e1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","requestID":"c322d1b625d7a516e55c84e67c14a4e1"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658444,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c322d1b625d7a516e55c84e67c14a4e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908790,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MH0.abDk-KOILkJaqz_otoguAj6mJX_LsgmLJv20_q7L6vQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c322d1b625d7a516e55c84e67c14a4e1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","requestID":"c322d1b625d7a516e55c84e67c14a4e1"} experiment-1 | {"level":"info","message":"GET /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a 200 11ms","method":"GET","requestID":"c322d1b625d7a516e55c84e67c14a4e1","responseTime":11,"status":200,"url":"/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"} gateway-1 | {"time_local":"25/Mar/2025:13:19:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c322d1b625d7a516e55c84e67c14a4e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw","level":"info","message":"auth send jwt","requestID":"b4d0d7747a2d40ad29c780d37827e8fc"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"b4d0d7747a2d40ad29c780d37827e8fc","responseTime":23,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","requestID":"b4d0d7747a2d40ad29c780d37827e8fc"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.784022,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b4d0d7747a2d40ad29c780d37827e8fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908791,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b4d0d7747a2d40ad29c780d37827e8fc","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Attempting to finish experiment","requestID":"b4d0d7747a2d40ad29c780d37827e8fc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d527ad20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.702708,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d527ad20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908791,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d527ad20-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","device":"f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb","device":"2523736d-a1e4-4e99-af95-2a468fc5225c","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/b3549d9e-f260-4c2d-8717-93fb312c47eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b3549d9e-f260-4c2d-8717-93fb312c47eb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a0c952976d230252332a4d7e091a50f3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a0c952976d230252332a4d7e091a50f3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c8fa52b7e34f2cc2bc0b350421553205","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c8fa52b7e34f2cc2bc0b350421553205","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/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb"}}},"level":"info","message":"received a callback","requestID":"a0c952976d230252332a4d7e091a50f3"} 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/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb"}}},"level":"info","message":"received a callback","requestID":"c8fa52b7e34f2cc2bc0b350421553205"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb3549d9e-f260-4c2d-8717-93fb312c47eb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb3549d9e-f260-4c2d-8717-93fb312c47eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"87b182a1-de09-40e0-9c87-4cc12f5d2bc8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.0745802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cd381a5-25f8-4da2-8b5e-3ec3bc2c441b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.0748057} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d527ad20-097b-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b3549d9e-f260-4c2d-8717-93fb312c47eb","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d527ad20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb 204 101ms","method":"DELETE","requestID":"d527ad20-097b-11f0-96bb-59c96fe0af16","responseTime":101,"status":204,"url":"/peerconnections/b3549d9e-f260-4c2d-8717-93fb312c47eb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"},"level":"info","message":"Successfully finished experiment","requestID":"b4d0d7747a2d40ad29c780d37827e8fc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d53c94b0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff47cc2e0-8352-48dc-b013-aa9ec6c18fd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f81b60cf-dc9d-49e8-8753-aed12ebd1b7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.1694028} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.336209,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d53c94b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d53c94b0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d53c94b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling 200 11ms","method":"POST","requestID":"d53c94b0-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d53e9080-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"bde223fc-2d74-4b37-9350-bb3d989892a8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.1776545} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"355bd0ef-23f4-4a63-a898-3e14538af1e8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.1779292} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"b4d0d7747a2d40ad29c780d37827e8fc","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2523736d-a1e4-4e99-af95-2a468fc5225c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1689ff10-8aed-43b3-af2a-a3026be867cf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.182133} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841715,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d53e9080-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d53e9080-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d53e9080-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling 200 11ms","method":"POST","requestID":"d53e9080-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/2523736d-a1e4-4e99-af95-2a468fc5225c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a","requestID":"b4d0d7747a2d40ad29c780d37827e8fc"} gateway-1 | {"time_local":"25/Mar/2025:13:19:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4d0d7747a2d40ad29c780d37827e8fc"} experiment-1 | {"level":"info","message":"DELETE /experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a 204 224ms","method":"DELETE","requestID":"b4d0d7747a2d40ad29c780d37827e8fc","responseTime":226,"status":204,"url":"/experiments/dc53ea84-48e5-4a5c-ac4a-bbd53f59ea6a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 175ms","method":"POST","requestID":"a0c952976d230252332a4d7e091a50f3","responseTime":175,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.178","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0c952976d230252332a4d7e091a50f3"} gateway-1 | {"time_local":"25/Mar/2025:13:19:51 +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.664","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cf26ca95d33ef2d65b3b5667cf7d6ecd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw","level":"info","message":"auth send jwt","requestID":"b14b59e3cd0c8f607606eedd35d2f944"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"b14b59e3cd0c8f607606eedd35d2f944","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b14b59e3cd0c8f607606eedd35d2f944"} gateway-1 | {"time_local":"25/Mar/2025:13:19:51 +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.677","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"24a7ba5a0e1ca1e38d74ef9880438b50"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:51Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"c8fa52b7e34f2cc2bc0b350421553205","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8fa52b7e34f2cc2bc0b350421553205"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.864904,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:51Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2523736d-a1e4-4e99-af95-2a468fc5225c' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b14b59e3cd0c8f607606eedd35d2f944","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908791,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b14b59e3cd0c8f607606eedd35d2f944","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/f47cc2e0-8352-48dc-b013-aa9ec6c18fd8' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"633286be-ab88-426a-9c3d-164128d178c5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.3111243} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b14b59e3cd0c8f607606eedd35d2f944","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c6a6b89-8378-492e-9137-e5a7388da700","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.3161461} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b14b59e3cd0c8f607606eedd35d2f944","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"6380d3aa-fa90-4bee-92a3-295b9ce60e6f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.3513894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4da9ff7d-34b7-4bde-b9e1-c9e9abf54b58","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.3514986} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"b14b59e3cd0c8f607606eedd35d2f944","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.351375478Z"}]},"request_id":"11e092d0-8dbb-426b-970e-aef476e6a9d6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.3562412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b14b59e3cd0c8f607606eedd35d2f944","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b14b59e3cd0c8f607606eedd35d2f944"} gateway-1 | {"time_local":"25/Mar/2025:13:19:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b14b59e3cd0c8f607606eedd35d2f944"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"b14b59e3cd0c8f607606eedd35d2f944","responseTime":104,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw","level":"info","message":"auth send jwt","requestID":"23ca15756de375229bc8c5f85f76cff7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23ca15756de375229bc8c5f85f76cff7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"23ca15756de375229bc8c5f85f76cff7"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.638801,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"23ca15756de375229bc8c5f85f76cff7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908791,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5MX0.kQAX_EJg19LAT8NHk20Z5S8QQgElkGxt9tGh-uMGayw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"23ca15756de375229bc8c5f85f76cff7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b62c61cf-aacb-4b56-a2ac-679b64436818","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.403529} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23ca15756de375229bc8c5f85f76cff7","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75eb3d37-90ac-4fc1-8354-02dc0d3b16ed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.4077585} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"23ca15756de375229bc8c5f85f76cff7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"2dea5750-d302-40a4-9e9c-0a7b9b9e4013","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.4415498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b08b0fd4-1ee1-4144-a9cf-28795a0fb883","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.44173} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"23ca15756de375229bc8c5f85f76cff7","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"0fc8b71c-b348-419d-92c2-199ba4e5e50e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908791.4460204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23ca15756de375229bc8c5f85f76cff7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"23ca15756de375229bc8c5f85f76cff7"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23ca15756de375229bc8c5f85f76cff7"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"23ca15756de375229bc8c5f85f76cff7","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Mn0.HCF1xszrph2TK9vwChe5ylB7UpmoN0LmS3vwfVyTY8g","level":"info","message":"auth send jwt","requestID":"c0200887d47b207a9cac675b9be3541e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0200887d47b207a9cac675b9be3541e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c0200887d47b207a9cac675b9be3541e"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:52Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778708,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c0200887d47b207a9cac675b9be3541e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908792,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Mn0.HCF1xszrph2TK9vwChe5ylB7UpmoN0LmS3vwfVyTY8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0200887d47b207a9cac675b9be3541e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"7d3955df-cbc1-491a-bc97-2dc9b011b99b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908792.4701524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c0200887d47b207a9cac675b9be3541e","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91715766-7477-4ec7-9561-c4976485e736","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908792.499393} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c0200887d47b207a9cac675b9be3541e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"69f3dfd9-e2cf-4b31-8e5a-bbae82c77871","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908792.5160105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c0200887d47b207a9cac675b9be3541e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c0200887d47b207a9cac675b9be3541e"} device-1 | {"level":"info","message":"PATCH /devices/0b64a240-4515-498c-9d1c-9fa2328abeea 200 65ms","method":"PATCH","requestID":"c0200887d47b207a9cac675b9be3541e","responseTime":65,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea"} gateway-1 | {"time_local":"25/Mar/2025:13:19:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0b64a240-4515-498c-9d1c-9fa2328abeea HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.069","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"c0200887d47b207a9cac675b9be3541e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Mn0.HCF1xszrph2TK9vwChe5ylB7UpmoN0LmS3vwfVyTY8g","level":"info","message":"auth send jwt","requestID":"0573a37dddda7daee968a3c277f97822"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"0573a37dddda7daee968a3c277f97822","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0573a37dddda7daee968a3c277f97822"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:52Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668548,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0573a37dddda7daee968a3c277f97822","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908792,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Mn0.HCF1xszrph2TK9vwChe5ylB7UpmoN0LmS3vwfVyTY8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0573a37dddda7daee968a3c277f97822","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0573a37dddda7daee968a3c277f97822"} gateway-1 | {"time_local":"25/Mar/2025:13:19:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/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.14","requestID":"0573a37dddda7daee968a3c277f97822"} device-1 | {"level":"info","message":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/websocket 200 15ms","method":"POST","requestID":"0573a37dddda7daee968a3c277f97822","responseTime":15,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa2cd0decd033718214151c76f2e9834","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa2cd0decd033718214151c76f2e9834","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:19:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/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":"fa2cd0decd033718214151c76f2e9834"} device-1 | {"level":"info","message":"OPTIONS /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/websocket 200 1ms","method":"OPTIONS","requestID":"fa2cd0decd033718214151c76f2e9834","responseTime":1,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0","level":"info","message":"auth send jwt","requestID":"c0860cf713eba500a1e002f8b75e2f87"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0860cf713eba500a1e002f8b75e2f87","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c0860cf713eba500a1e002f8b75e2f87"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189275,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c0860cf713eba500a1e002f8b75e2f87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c0860cf713eba500a1e002f8b75e2f87","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c0860cf713eba500a1e002f8b75e2f87"} device-1 | {"level":"info","message":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/websocket 200 31ms","method":"POST","requestID":"c0860cf713eba500a1e002f8b75e2f87","responseTime":31,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:19:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0860cf713eba500a1e002f8b75e2f87"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0","level":"info","message":"auth send jwt","requestID":"e05be7874a655946a71aaa10724af4b1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e05be7874a655946a71aaa10724af4b1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e05be7874a655946a71aaa10724af4b1"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632557,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e05be7874a655946a71aaa10724af4b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e05be7874a655946a71aaa10724af4b1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.351375478Z"}]},"request_id":"bd229bdb-b93a-4d40-a5bc-c01b86020a69","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.762804} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e05be7874a655946a71aaa10724af4b1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e05be7874a655946a71aaa10724af4b1"} gateway-1 | {"time_local":"25/Mar/2025:13:19:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e05be7874a655946a71aaa10724af4b1"} device-1 | {"level":"info","message":"GET /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe? 200 15ms","method":"GET","requestID":"e05be7874a655946a71aaa10724af4b1","responseTime":15,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0","level":"info","message":"auth send jwt","requestID":"fa12b10d4871692ac15fc02ee5c586f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa12b10d4871692ac15fc02ee5c586f8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa12b10d4871692ac15fc02ee5c586f8"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670682,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fa12b10d4871692ac15fc02ee5c586f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa12b10d4871692ac15fc02ee5c586f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"2853c702-6959-4a23-adc1-ef9975394afc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.780205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa12b10d4871692ac15fc02ee5c586f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa12b10d4871692ac15fc02ee5c586f8"} gateway-1 | {"time_local":"25/Mar/2025:13:19:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b64a240-4515-498c-9d1c-9fa2328abeea? 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":"fa12b10d4871692ac15fc02ee5c586f8"} device-1 | {"level":"info","message":"GET /devices/0b64a240-4515-498c-9d1c-9fa2328abeea? 200 11ms","method":"GET","requestID":"fa12b10d4871692ac15fc02ee5c586f8","responseTime":11,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0","level":"info","message":"auth send jwt","requestID":"3016c78c780c2d3b19da01d080f8f844"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3016c78c780c2d3b19da01d080f8f844","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3016c78c780c2d3b19da01d080f8f844"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.87318,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3016c78c780c2d3b19da01d080f8f844","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3016c78c780c2d3b19da01d080f8f844","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to run experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to book experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully booked experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6dcfe40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6dd4c60-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630816,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6dcfe40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6dcfe40-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.544125,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6dd4c60-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6dd4c60-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.351375478Z"}]},"request_id":"9b32a525-ec52-4120-8695-7b161d90d8cd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.9001412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6dcfe40-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"68e1cb92-0c0c-43fa-8a87-9c16b57c8f17","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.9011152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6dd4c60-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6dcfe40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe? 200 14ms","method":"GET","requestID":"d6dcfe40-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6dd4c60-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/0b64a240-4515-498c-9d1c-9fa2328abeea? 200 13ms","method":"GET","requestID":"d6dd4c60-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Setting up experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully set up experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6e9cf80-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6e9f690-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6ea44b0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully running experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51514","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665475,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6e9cf80-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d6e9cf80-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643202,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6e9f690-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d6e9f690-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"3b07b81d-e6cd-4f88-8408-215d738b7f88","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.9884706} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d6e9f690-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.351375478Z"}]},"request_id":"98a8fa11-ccc5-4ce5-962e-c55f4cf53bd6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.9897614} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6e9cf80-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2faf56c0-a93f-4764-9d05-3de84d813b91","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.991744} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887305,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6ea44b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","rebac_allow":false,"scope_allow":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":"d6ea44b0-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff9f80022-3152-49d9-8e7d-6cce3df27efd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff9f80022-3152-49d9-8e7d-6cce3df27efd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1251d3b9-cc47-4637-9d94-82311ba653d2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.9976625} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60d76d61-cc5b-4334-b98b-ae0373bcb446","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908793.997944} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6e9f690-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/0b64a240-4515-498c-9d1c-9fa2328abeea? 200 22ms","method":"GET","requestID":"d6e9f690-097b-11f0-96bb-59c96fe0af16","responseTime":22,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"3016c78c780c2d3b19da01d080f8f844","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6e9cf80-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe? 200 24ms","method":"GET","requestID":"d6e9cf80-097b-11f0-96bb-59c96fe0af16","responseTime":24,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6ea44b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling 200 23ms","method":"POST","requestID":"d6ea44b0-097b-11f0-96bb-59c96fe0af16","responseTime":23,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6eeffa0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6ef4dc0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3016c78c780c2d3b19da01d080f8f844"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91e1fd93-48e5-4714-8efa-a09ebe166935","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.0158825} experiment-1 | {"level":"info","message":"POST /experiments? 201 226ms","method":"POST","requestID":"3016c78c780c2d3b19da01d080f8f844","responseTime":226,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:19:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3016c78c780c2d3b19da01d080f8f844"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.257524,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6eeffa0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d6eeffa0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1c2d86e-82b6-4b86-9aed-5ae3d73c38eb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.0178413} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5NH0.0LRNYzUPmcejjCGSyq2WA-qbf-z1N-m25TNNTrBaTKg","level":"info","message":"auth send jwt","requestID":"669ff4848dacb4b83a8cc795b026ad71"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"669ff4848dacb4b83a8cc795b026ad71","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.236556,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6eeffa0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling 200 12ms","method":"POST","requestID":"d6eeffa0-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6ef4dc0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"669ff4848dacb4b83a8cc795b026ad71"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"d6ef4dc0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6f14990-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664418,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"669ff4848dacb4b83a8cc795b026ad71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908794,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5NH0.0LRNYzUPmcejjCGSyq2WA-qbf-z1N-m25TNNTrBaTKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"669ff4848dacb4b83a8cc795b026ad71","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6ef4dc0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling 200 18ms","method":"POST","requestID":"d6ef4dc0-097b-11f0-96bb-59c96fe0af16","responseTime":18,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17b1600c-aaae-4cc4-97d2-a6a121fd9751","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.0309083} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.351375478Z"}]},"request_id":"8785a4af-fd45-4c86-962a-3203a3f1c478","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.0313067} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"669ff4848dacb4b83a8cc795b026ad71","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.801073,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6f14990-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d6f14990-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"669ff4848dacb4b83a8cc795b026ad71"} gateway-1 | {"time_local":"25/Mar/2025:13:19:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe? 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":"669ff4848dacb4b83a8cc795b026ad71"} device-1 | {"level":"info","message":"GET /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe? 200 14ms","method":"GET","requestID":"669ff4848dacb4b83a8cc795b026ad71","responseTime":14,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6f14990-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling 200 12ms","method":"POST","requestID":"d6f14990-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Building connection plan","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"afcd6377-13b2-4bfd-a0b7-a273897dd7ea"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b765a79b-dbd7-4d33-b610-08f8ac9323f9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5c005ee3-f94d-45f8-9dc3-46de6cb9cd07"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3016c78c780c2d3b19da01d080f8f844"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3016c78c780c2d3b19da01d080f8f844"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5NH0.0LRNYzUPmcejjCGSyq2WA-qbf-z1N-m25TNNTrBaTKg","level":"info","message":"auth send jwt","requestID":"f4d5e798368e28236081f60f569e0996"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f4d5e798368e28236081f60f569e0996","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4d5e798368e28236081f60f569e0996"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51504","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.031894,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908793,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5M30.RnvbD0H18lpdVb79N9_IgEjnfwNAl70mOEcGO-HB3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.502289,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4d5e798368e28236081f60f569e0996","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908794,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5NH0.0LRNYzUPmcejjCGSyq2WA-qbf-z1N-m25TNNTrBaTKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4d5e798368e28236081f60f569e0996","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:51.441538844Z"}]},"request_id":"b830f997-33bb-4847-a05f-e004b9df65df","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.050425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4d5e798368e28236081f60f569e0996","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4d5e798368e28236081f60f569e0996"} gateway-1 | {"time_local":"25/Mar/2025:13:19:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b64a240-4515-498c-9d1c-9fa2328abeea? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4d5e798368e28236081f60f569e0996"} device-1 | {"level":"info","message":"GET /devices/0b64a240-4515-498c-9d1c-9fa2328abeea? 200 12ms","method":"GET","requestID":"f4d5e798368e28236081f60f569e0996","responseTime":12,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"54c4ceec-bc16-4ec0-93e6-e1509073cd97","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.0562978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2dd580c0-a5bc-4ce1-bb2e-1751629e3ef8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.0565047} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7'","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7'","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 62ms","method":"POST","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16","responseTime":62,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d6f39380-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7","device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","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/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3016c78c780c2d3b19da01d080f8f844"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d708a220-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8389f77-15a5-4008-9748-ac5a22fe7dbd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.1826138} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.247331,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d708a220-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d708a220-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d708a220-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling 200 8ms","method":"POST","requestID":"d708a220-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d70a28c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8377062c-aeee-4617-82aa-e49b61169d35","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908794.1923175} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.193605,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d70a28c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d70a28c0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d70a28c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling 200 8ms","method":"POST","requestID":"d70a28c0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling"} device-1 | {"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"572c1669-94f0-4760-8054-eb4b472d90e7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2416669043249154381 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:HG2p\r\na=ice-pwd:OkNTI0ZoHbtFPtvPByrzSDqh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CE:82:85:34:77:7D:F3:56:78:68:19:91:0D:58:41:08:46:C5:A1:A5:AE:91:1B:25:CE:EB:DC:27:DE:C9:71:43\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2933756950 1 udp 2113937151 6376a93f-3b5b-458e-ad61-49aec5e6865b.local 41776 typ host generation 0 ufrag HG2p network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","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/7a04df14-53e4-4964-a7f6-47c101c0adfe'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"572c1669-94f0-4760-8054-eb4b472d90e7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"410a356a5778498e8922254c42ebed7a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"410a356a5778498e8922254c42ebed7a","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/7a04df14-53e4-4964-a7f6-47c101c0adfe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7"}}},"level":"info","message":"received a callback","requestID":"410a356a5778498e8922254c42ebed7a"} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"410a356a5778498e8922254c42ebed7a","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"410a356a5778498e8922254c42ebed7a"} device-1 | {"data":{"peerconnection":"572c1669-94f0-4760-8054-eb4b472d90e7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"572c1669-94f0-4760-8054-eb4b472d90e7","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"572c1669-94f0-4760-8054-eb4b472d90e7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"29158ab5e94b716708ccdb06dbf6a8a6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"29158ab5e94b716708ccdb06dbf6a8a6","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/7a04df14-53e4-4964-a7f6-47c101c0adfe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7"}}},"level":"info","message":"received a callback","requestID":"29158ab5e94b716708ccdb06dbf6a8a6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d8440850-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F572c1669-94f0-4760-8054-eb4b472d90e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ba06526-89ae-42d1-9ee6-437bcbbfc3c3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.2499235} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.207299,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d8440850-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7","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":"d8440850-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d8440850-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7 200 9ms","method":"GET","requestID":"d8440850-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"29158ab5e94b716708ccdb06dbf6a8a6","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"29158ab5e94b716708ccdb06dbf6a8a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d84b5b50-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82b05eae-cbd4-40ee-936b-0898e182f413","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.297879} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.632572,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d84b5b50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d84b5b50-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d84b5b50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling 200 10ms","method":"POST","requestID":"d84b5b50-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d84d3010-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33b04638-5138-454b-9149-947048b8aa5c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.3098404} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533969,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d84d3010-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d84d3010-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d84d3010-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling 200 9ms","method":"POST","requestID":"d84d3010-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k","level":"info","message":"auth send jwt","requestID":"b148e6763572ef694208f86509d927e9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b148e6763572ef694208f86509d927e9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","requestID":"b148e6763572ef694208f86509d927e9"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.802538,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b148e6763572ef694208f86509d927e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908796,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b148e6763572ef694208f86509d927e9","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","requestID":"b148e6763572ef694208f86509d927e9"} gateway-1 | {"time_local":"25/Mar/2025:13:19:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b148e6763572ef694208f86509d927e9"} experiment-1 | {"level":"info","message":"GET /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd 200 11ms","method":"GET","requestID":"b148e6763572ef694208f86509d927e9","responseTime":11,"status":200,"url":"/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k","level":"info","message":"auth send jwt","requestID":"fe099f3ac583da3119fa450ebe29e142"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"fe099f3ac583da3119fa450ebe29e142","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","requestID":"fe099f3ac583da3119fa450ebe29e142"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.746614,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe099f3ac583da3119fa450ebe29e142","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908796,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fe099f3ac583da3119fa450ebe29e142","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Attempting to finish experiment","requestID":"fe099f3ac583da3119fa450ebe29e142"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d85aebb0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.506252,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d85aebb0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908796,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d85aebb0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7","device":"7a04df14-53e4-4964-a7f6-47c101c0adfe","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0b64a240-4515-498c-9d1c-9fa2328abeea","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/572c1669-94f0-4760-8054-eb4b472d90e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"572c1669-94f0-4760-8054-eb4b472d90e7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F572c1669-94f0-4760-8054-eb4b472d90e7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F572c1669-94f0-4760-8054-eb4b472d90e7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"246d6af9-4955-44c8-a437-9257d15868bf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.435813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1afa81c-c207-4809-973f-929cfe6f6401","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.4360962} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bf91a060e560b84c7d53d0937478c8b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bf91a060e560b84c7d53d0937478c8b9","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"d85aebb0-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54a56d5866322f1838ccb91a9a64352b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54a56d5866322f1838ccb91a9a64352b","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/7a04df14-53e4-4964-a7f6-47c101c0adfe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7"}}},"level":"info","message":"received a callback","requestID":"bf91a060e560b84c7d53d0937478c8b9"} 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/7a04df14-53e4-4964-a7f6-47c101c0adfe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7"}}},"level":"info","message":"received a callback","requestID":"54a56d5866322f1838ccb91a9a64352b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d85aebb0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7 204 97ms","method":"DELETE","requestID":"d85aebb0-097b-11f0-96bb-59c96fe0af16","responseTime":97,"status":204,"url":"/peerconnections/572c1669-94f0-4760-8054-eb4b472d90e7"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"},"level":"info","message":"Successfully finished experiment","requestID":"fe099f3ac583da3119fa450ebe29e142"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d86c29c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a04df14-53e4-4964-a7f6-47c101c0adfe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4705e19-1b38-41b1-9a96-17335c007376","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.5130908} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420123,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d86c29c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe","object_type":"device","rebac_allow":false,"scope_allow":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":"d86c29c0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d86c29c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling 200 9ms","method":"POST","requestID":"d86c29c0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d86dd770-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff9f80022-3152-49d9-8e7d-6cce3df27efd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff9f80022-3152-49d9-8e7d-6cce3df27efd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"710b7738-fff8-4325-a6fc-7acb162a876b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.5202365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a442ec1c-dc21-4a55-a968-059dc42f2fec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.520635} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"fe099f3ac583da3119fa450ebe29e142","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b64a240-4515-498c-9d1c-9fa2328abeea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27b65186-dc36-4d0d-be71-0b4200eb4214","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.5244389} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.622102,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d86dd770-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d86dd770-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d86dd770-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling 200 10ms","method":"POST","requestID":"d86dd770-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/0b64a240-4515-498c-9d1c-9fa2328abeea/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd","requestID":"fe099f3ac583da3119fa450ebe29e142"} gateway-1 | {"time_local":"25/Mar/2025:13:19:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe099f3ac583da3119fa450ebe29e142"} experiment-1 | {"level":"info","message":"DELETE /experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd 204 190ms","method":"DELETE","requestID":"fe099f3ac583da3119fa450ebe29e142","responseTime":190,"status":204,"url":"/experiments/f9f80022-3152-49d9-8e7d-6cce3df27efd"} gateway-1 | {"time_local":"25/Mar/2025:13:19:56 +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.011","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"b4f646b7ddd3475004a39ba700b72979"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"bf91a060e560b84c7d53d0937478c8b9","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"bf91a060e560b84c7d53d0937478c8b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"54a56d5866322f1838ccb91a9a64352b","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"54a56d5866322f1838ccb91a9a64352b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k","level":"info","message":"auth send jwt","requestID":"0cd8eb57db676946b180fc3fda721fc9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0cd8eb57db676946b180fc3fda721fc9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0cd8eb57db676946b180fc3fda721fc9"} gateway-1 | {"time_local":"25/Mar/2025:13:19:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.853","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d44c16025fc651caf05dc46676dea8cc"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86481,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0cd8eb57db676946b180fc3fda721fc9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908796,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0cd8eb57db676946b180fc3fda721fc9","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0b64a240-4515-498c-9d1c-9fa2328abeea' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ed3d5333-fabd-45ed-8ccc-b93ee439ba79","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.6292028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0cd8eb57db676946b180fc3fda721fc9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7a04df14-53e4-4964-a7f6-47c101c0adfe' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b91c265-c8d5-4fb3-9a85-968b7582c13d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.6344204} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0cd8eb57db676946b180fc3fda721fc9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"ced651c3-4572-4709-a953-9accf534fb4b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.645192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e21c8473-c1c6-4de1-b7c5-e5c24a7553d4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.6454844} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0cd8eb57db676946b180fc3fda721fc9","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"350f4cd0-5e0f-48b1-84fa-16b70ef80c6b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.6496382} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0cd8eb57db676946b180fc3fda721fc9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0cd8eb57db676946b180fc3fda721fc9"} gateway-1 | {"time_local":"25/Mar/2025:13:19:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0cd8eb57db676946b180fc3fda721fc9"} device-1 | {"level":"info","message":"POST /devices? 201 69ms","method":"POST","requestID":"0cd8eb57db676946b180fc3fda721fc9","responseTime":69,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k","level":"info","message":"auth send jwt","requestID":"ca7b6b6150304cb4c35c6446f940d304"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ca7b6b6150304cb4c35c6446f940d304","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ca7b6b6150304cb4c35c6446f940d304"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.851464,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ca7b6b6150304cb4c35c6446f940d304","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908796,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5Nn0.3-dv1ghnSjpyKnEWDpw_jwHhPJcMhJe0j5X-9MQgr6k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca7b6b6150304cb4c35c6446f940d304","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fcaf2bc7-263f-4263-9936-d6d6184deaf1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.6973002} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca7b6b6150304cb4c35c6446f940d304","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f32d410b-e67a-4a23-aa4d-24a374d03a27","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.7223427} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"ca7b6b6150304cb4c35c6446f940d304","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"03cc0e39-4c7f-45d0-b90d-c8f62b93889b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.7378013} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"014e773c-b9bc-4caf-bcfb-db042ea65045","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.737931} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"ca7b6b6150304cb4c35c6446f940d304","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.737790215Z"}]},"request_id":"3afbe981-d124-45c0-ab0a-ca747eef6613","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908796.7428958} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ca7b6b6150304cb4c35c6446f940d304","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ca7b6b6150304cb4c35c6446f940d304"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"ca7b6b6150304cb4c35c6446f940d304","responseTime":88,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:19: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.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca7b6b6150304cb4c35c6446f940d304"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5N30.y6HYA8lyx6raDghD1v4PcC5o8fIn1eHuemEJklHYXi4","level":"info","message":"auth send jwt","requestID":"d866756909b3dbfb7e5c26571697017e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d866756909b3dbfb7e5c26571697017e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d866756909b3dbfb7e5c26571697017e"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:57Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726758,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d866756909b3dbfb7e5c26571697017e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908797,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5N30.y6HYA8lyx6raDghD1v4PcC5o8fIn1eHuemEJklHYXi4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d866756909b3dbfb7e5c26571697017e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"bbe2420e-d115-43dd-9597-4377d9be1516","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908797.6822846} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d866756909b3dbfb7e5c26571697017e","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"026e8059-0ef3-4841-aa2e-8108743b075e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908797.6864805} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d866756909b3dbfb7e5c26571697017e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"2ad13b9a-38a3-4e0a-a7fb-7f01fcbc44a3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908797.7323694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d866756909b3dbfb7e5c26571697017e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d866756909b3dbfb7e5c26571697017e"} device-1 | {"level":"info","message":"PATCH /devices/0c94446a-598f-4be7-b720-228689063090 200 87ms","method":"PATCH","requestID":"d866756909b3dbfb7e5c26571697017e","responseTime":87,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090"} gateway-1 | {"time_local":"25/Mar/2025:13:19:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0c94446a-598f-4be7-b720-228689063090 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.091","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"d866756909b3dbfb7e5c26571697017e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5N30.y6HYA8lyx6raDghD1v4PcC5o8fIn1eHuemEJklHYXi4","level":"info","message":"auth send jwt","requestID":"566525d4f9b290c4f37ce513a847177f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"566525d4f9b290c4f37ce513a847177f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"566525d4f9b290c4f37ce513a847177f"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:57Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666987,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"566525d4f9b290c4f37ce513a847177f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908797,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5N30.y6HYA8lyx6raDghD1v4PcC5o8fIn1eHuemEJklHYXi4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"566525d4f9b290c4f37ce513a847177f","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"25/Mar/2025:13:19:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0c94446a-598f-4be7-b720-228689063090/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"566525d4f9b290c4f37ce513a847177f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"566525d4f9b290c4f37ce513a847177f"} device-1 | {"level":"info","message":"POST /devices/0c94446a-598f-4be7-b720-228689063090/websocket 200 18ms","method":"POST","requestID":"566525d4f9b290c4f37ce513a847177f","responseTime":18,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0c94446a-598f-4be7-b720-228689063090' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cce5af1d8417cf51599f29b6109a5f20","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cce5af1d8417cf51599f29b6109a5f20","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a178fd89-fc04-4289-8431-9e63096bba3d/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":"cce5af1d8417cf51599f29b6109a5f20"} device-1 | {"level":"info","message":"OPTIONS /devices/a178fd89-fc04-4289-8431-9e63096bba3d/websocket 200 2ms","method":"OPTIONS","requestID":"cce5af1d8417cf51599f29b6109a5f20","responseTime":2,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA","level":"info","message":"auth send jwt","requestID":"49ce7a1c9ed002adf52be6586862fd98"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"49ce7a1c9ed002adf52be6586862fd98","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"49ce7a1c9ed002adf52be6586862fd98"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200602,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"49ce7a1c9ed002adf52be6586862fd98","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"49ce7a1c9ed002adf52be6586862fd98","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"49ce7a1c9ed002adf52be6586862fd98"} device-1 | {"level":"info","message":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/websocket 200 40ms","method":"POST","requestID":"49ce7a1c9ed002adf52be6586862fd98","responseTime":40,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/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":"49ce7a1c9ed002adf52be6586862fd98"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA","level":"info","message":"auth send jwt","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80553,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"5141d11a-1e80-4072-a076-619a645278b1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.193671} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc"} gateway-1 | {"time_local":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0c94446a-598f-4be7-b720-228689063090? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc"} device-1 | {"level":"info","message":"GET /devices/0c94446a-598f-4be7-b720-228689063090? 200 11ms","method":"GET","requestID":"8b4d1fe3c6a963d277e7f1ce570f7dcc","responseTime":11,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA","level":"info","message":"auth send jwt","requestID":"fa66b200f5d627166d11acd17ef3c729"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa66b200f5d627166d11acd17ef3c729","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa66b200f5d627166d11acd17ef3c729"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.580982,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fa66b200f5d627166d11acd17ef3c729","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa66b200f5d627166d11acd17ef3c729","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.737790215Z"}]},"request_id":"438db1f2-79b4-4c4a-a2c1-47578e4d90ec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.2096982} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa66b200f5d627166d11acd17ef3c729","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa66b200f5d627166d11acd17ef3c729"} gateway-1 | {"time_local":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a178fd89-fc04-4289-8431-9e63096bba3d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa66b200f5d627166d11acd17ef3c729"} device-1 | {"level":"info","message":"GET /devices/a178fd89-fc04-4289-8431-9e63096bba3d? 200 12ms","method":"GET","requestID":"fa66b200f5d627166d11acd17ef3c729","responseTime":12,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA","level":"info","message":"auth send jwt","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.741546,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a5360a213cbad6d3f27c6a63e56a4ba2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to run experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to book experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully booked experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da143470-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da182c10-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602654,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da143470-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"da143470-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55572","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55572","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959284,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da182c10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da182c10-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"bfabdcf0-b60e-4154-b512-5ace80309ab7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.3198278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da143470-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.737790215Z"}]},"request_id":"38df4669-1789-44fa-8665-1e2c71427ec3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.3234527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da182c10-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da143470-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/0c94446a-598f-4be7-b720-228689063090? 200 39ms","method":"GET","requestID":"da143470-097b-11f0-96bb-59c96fe0af16","responseTime":39,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da182c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/a178fd89-fc04-4289-8431-9e63096bba3d? 200 15ms","method":"GET","requestID":"da182c10-097b-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Setting up experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully set up experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da2858b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da287fc0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da28a6d0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55572","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully running experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55572","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.675867,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823204,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da2858b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da2858b0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da287fc0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da287fc0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.433793,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19: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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.737790215Z"}]},"request_id":"152bfdf5-e655-4107-8217-6ecc3660d13f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.431905} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"393ced23-be0b-4e06-8b7c-c79202de3cee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.4320421} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"15a3dab8-bb6a-46a0-8bd7-25fb45d564f8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.4569347} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"da287fc0-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da28a6d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"da28a6d0-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"da2858b0-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2364b027-6a13-4269-9fe9-9fe42ffebe99#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2364b027-6a13-4269-9fe9-9fe42ffebe99","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"de91d006-ba9f-4643-b751-cadea9b13a76","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.4618208} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dad0f7d-5a1a-47fd-bf00-df472b3048a8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.4619703} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da287fc0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/a178fd89-fc04-4289-8431-9e63096bba3d? 200 44ms","method":"GET","requestID":"da287fc0-097b-11f0-96bb-59c96fe0af16","responseTime":44,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da28a6d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0c94446a-598f-4be7-b720-228689063090/signaling 200 43ms","method":"POST","requestID":"da28a6d0-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da2858b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/0c94446a-598f-4be7-b720-228689063090? 200 47ms","method":"GET","requestID":"da2858b0-097b-11f0-96bb-59c96fe0af16","responseTime":47,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da2fd2c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da3020e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8aaa42d9-22ca-4b1a-ab6c-d3d7067254f8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.4730735} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.357261,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da2fd2c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","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":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.260","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 256ms","method":"POST","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2","responseTime":256,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da2fd2c0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c70009a6-5f55-489f-83a8-ba7a8cae6854","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.474056} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.21921,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da3020e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da3020e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA","level":"info","message":"auth send jwt","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da2fd2c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling 200 37ms","method":"POST","requestID":"da2fd2c0-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da3020e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0c94446a-598f-4be7-b720-228689063090/signaling 200 36ms","method":"POST","requestID":"da3020e0-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da361450-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806545,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8207c81-5571-45ba-bcfc-97e324d9538c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.5148692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.645177573Z"}]},"request_id":"9357fec2-1c0c-471d-b79e-709bb4a6b9a3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.515282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.248232,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da361450-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da361450-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9"} gateway-1 | {"time_local":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0c94446a-598f-4be7-b720-228689063090? 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":"0bb8fbb0b8baa50eda07b63c9d7816b9"} device-1 | {"level":"info","message":"GET /devices/0c94446a-598f-4be7-b720-228689063090? 200 13ms","method":"GET","requestID":"0bb8fbb0b8baa50eda07b63c9d7816b9","responseTime":13,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da361450-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling 200 11ms","method":"POST","requestID":"da361450-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Building connection plan","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"973571d8-89dc-4b48-9848-58a63c55e14c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d22f530e-21d5-4d97-acfe-f0e27d4020dd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b432680c-948e-41cd-b6e7-02e82477b206"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0c94446a-598f-4be7-b720-228689063090"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA","level":"info","message":"auth send jwt","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.600907,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da385e40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.510057,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908799,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODc5OX0.BD9wL4GtVduFFq2x-7ued3rHbxZcsOn7QtAAe3GJDnA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:19:56.737790215Z"}]},"request_id":"aca34289-492a-4e2a-8335-c67b60e619dd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.5565846} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6"} gateway-1 | {"time_local":"25/Mar/2025:13:19:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a178fd89-fc04-4289-8431-9e63096bba3d? 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":"cf19d9bb3e1fa902fd5dad601bf5f9b6"} device-1 | {"level":"info","message":"GET /devices/a178fd89-fc04-4289-8431-9e63096bba3d? 200 34ms","method":"GET","requestID":"cf19d9bb3e1fa902fd5dad601bf5f9b6","responseTime":34,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7a1ae67a-b664-4566-bc2f-ce6671a797af","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.5606296} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afe148b1-bf93-4e7e-b98b-2c1495f48668","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.5608487} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6'","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6'","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"da385e40-097b-11f0-96bb-59c96fe0af16"} 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":"da385e40-097b-11f0-96bb-59c96fe0af16","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":"da385e40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6","device":"a178fd89-fc04-4289-8431-9e63096bba3d","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/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a5360a213cbad6d3f27c6a63e56a4ba2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da4cf7b0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0fd3fa0-86f2-4781-ae14-c51ca16afa40","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.6633933} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.487318,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da4cf7b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da4cf7b0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da4cf7b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0c94446a-598f-4be7-b720-228689063090/signaling 200 10ms","method":"POST","requestID":"da4cf7b0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090/signaling"} device-1 | {"device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da4ecc70-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c99b5ff-6909-45bc-a75f-5d49ee274636","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908799.7027993} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.482517,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:19:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"da4ecc70-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","rebac_allow":false,"scope_allow":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":"da4ecc70-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da4ecc70-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling 200 35ms","method":"POST","requestID":"da4ecc70-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling"} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1321622825254072459 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:g672\r\na=ice-pwd:tonh2+H6TVcc6j9yytIA+DSU\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E1:C1:6C:45:90:98:C6:8D:C2:0B:E0:3F:BF:F2:A1:A6:15:A8:C6:52:24:DA:C7:95:1A:C1:56:F1:24:B0:C2:E0\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2117624010 1 udp 2113937151 68fc3e4e-d89a-438f-925c-146873e5d20b.local 40535 typ host generation 0 ufrag g672 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a178fd89-fc04-4289-8431-9e63096bba3d","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/a178fd89-fc04-4289-8431-9e63096bba3d'"} device-1 | {"device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.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":"c8f4f132d8649e8c6b752ed5bde0e84c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c8f4f132d8649e8c6b752ed5bde0e84c","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0c94446a-598f-4be7-b720-228689063090"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6"}}},"level":"info","message":"received a callback","requestID":"c8f4f132d8649e8c6b752ed5bde0e84c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"c8f4f132d8649e8c6b752ed5bde0e84c","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8f4f132d8649e8c6b752ed5bde0e84c"} device-1 | {"data":{"peerconnection":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a178fd89-fc04-4289-8431-9e63096bba3d","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/bd6324e9-9e31-4bab-8756-77241abbf3d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee527a8a9df0ffcdfd25938ad54a6c86","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ee527a8a9df0ffcdfd25938ad54a6c86","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/a178fd89-fc04-4289-8431-9e63096bba3d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0c94446a-598f-4be7-b720-228689063090"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6"}}},"level":"info","message":"received a callback","requestID":"ee527a8a9df0ffcdfd25938ad54a6c86"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"db8613f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd6324e9-9e31-4bab-8756-77241abbf3d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f38b2c0d-1649-4325-9f02-d8a8c69173d9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.7171144} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.049429,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"db8613f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6","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":"db8613f0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"db8613f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6 200 10ms","method":"GET","requestID":"db8613f0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"ee527a8a9df0ffcdfd25938ad54a6c86","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee527a8a9df0ffcdfd25938ad54a6c86"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"db8e2a40-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef2946ed-accf-43c0-a4d9-39fadc27e228","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.7693098} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.356411,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"db8e2a40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"db8e2a40-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"db8e2a40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling 200 10ms","method":"POST","requestID":"db8e2a40-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"db8fff00-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cc892ad-f8b8-45bb-a9f7-a634cb697d72","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.7801695} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321033,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"db8fff00-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"db8fff00-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"db8fff00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0c94446a-598f-4be7-b720-228689063090/signaling 200 8ms","method":"POST","requestID":"db8fff00-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMX0.P7Wa1vP3puSLh9i2zAUqh5MICpfx07r_kky0jSdqNbI","level":"info","message":"auth send jwt","requestID":"d68bd03d2946e765b2110a3c82f92392"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d68bd03d2946e765b2110a3c82f92392","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","requestID":"d68bd03d2946e765b2110a3c82f92392"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.750701,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d68bd03d2946e765b2110a3c82f92392","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908801,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMX0.P7Wa1vP3puSLh9i2zAUqh5MICpfx07r_kky0jSdqNbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d68bd03d2946e765b2110a3c82f92392","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","requestID":"d68bd03d2946e765b2110a3c82f92392"} gateway-1 | {"time_local":"25/Mar/2025:13:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d68bd03d2946e765b2110a3c82f92392"} experiment-1 | {"level":"info","message":"GET /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99 200 9ms","method":"GET","requestID":"d68bd03d2946e765b2110a3c82f92392","responseTime":9,"status":200,"url":"/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMX0.P7Wa1vP3puSLh9i2zAUqh5MICpfx07r_kky0jSdqNbI","level":"info","message":"auth send jwt","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.62987,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ace4b9ef45dd7960158b5bd5fe9b2985","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908801,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMX0.P7Wa1vP3puSLh9i2zAUqh5MICpfx07r_kky0jSdqNbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Attempting to finish experiment","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"db9cf750-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.629534,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"db9cf750-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908801,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMX0.P7Wa1vP3puSLh9i2zAUqh5MICpfx07r_kky0jSdqNbI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"db9cf750-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6","device":"a178fd89-fc04-4289-8431-9e63096bba3d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0c94446a-598f-4be7-b720-228689063090","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/bd6324e9-9e31-4bab-8756-77241abbf3d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd6324e9-9e31-4bab-8756-77241abbf3d6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd6324e9-9e31-4bab-8756-77241abbf3d6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"cd2cb055-e203-4a3f-9c18-b1afaca568aa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.8770857} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"05de590816db397014bbd3a426f6f30e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5aefe4a4-6d57-4d89-aa69-26596fda600a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.8774226} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"05de590816db397014bbd3a426f6f30e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"87baf40732f0fedda776c7080ff6bd4c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"87baf40732f0fedda776c7080ff6bd4c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"db9cf750-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0c94446a-598f-4be7-b720-228689063090"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6"}}},"level":"info","message":"received a callback","requestID":"05de590816db397014bbd3a426f6f30e"} 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/a178fd89-fc04-4289-8431-9e63096bba3d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0c94446a-598f-4be7-b720-228689063090"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6"}}},"level":"info","message":"received a callback","requestID":"87baf40732f0fedda776c7080ff6bd4c"} device-1 | {"data":{"peerconnection":"bd6324e9-9e31-4bab-8756-77241abbf3d6","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"db9cf750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6 204 66ms","method":"DELETE","requestID":"db9cf750-097b-11f0-96bb-59c96fe0af16","responseTime":66,"status":204,"url":"/peerconnections/bd6324e9-9e31-4bab-8756-77241abbf3d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"},"level":"info","message":"Successfully finished experiment","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbac87b0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa178fd89-fc04-4289-8431-9e63096bba3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8d115f4-aad6-4ab9-bf39-952574b15473","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.967446} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.385604,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dbac87b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a178fd89-fc04-4289-8431-9e63096bba3d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dbac87b0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbac87b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling 200 8ms","method":"POST","requestID":"dbac87b0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/a178fd89-fc04-4289-8431-9e63096bba3d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbae0e50-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c94446a-598f-4be7-b720-228689063090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10f4a88e-c69c-4626-a336-13f51aaac220","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.9776433} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2364b027-6a13-4269-9fe9-9fe42ffebe99': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2364b027-6a13-4269-9fe9-9fe42ffebe99","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"06593bfe-5868-4a9e-adfc-cf60358c8fe7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.9777925} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a9d6539-f812-4ff1-94e5-0fad171e941a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908801.9781651} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.875833,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dbae0e50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c94446a-598f-4be7-b720-228689063090","object_type":"device","rebac_allow":false,"scope_allow":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":"dbae0e50-097b-11f0-96bb-59c96fe0af16","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbae0e50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0c94446a-598f-4be7-b720-228689063090/signaling 200 30ms","method":"POST","requestID":"dbae0e50-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/devices/0c94446a-598f-4be7-b720-228689063090/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985"} gateway-1 | {"time_local":"25/Mar/2025:13:20:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.279","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985"} experiment-1 | {"level":"info","message":"DELETE /experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99 204 276ms","method":"DELETE","requestID":"ace4b9ef45dd7960158b5bd5fe9b2985","responseTime":276,"status":204,"url":"/experiments/2364b027-6a13-4269-9fe9-9fe42ffebe99"} gateway-1 | {"time_local":"25/Mar/2025:13:20:02 +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.345","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"209e96652e12eea9899e53906d27ce21"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 230ms","method":"POST","requestID":"05de590816db397014bbd3a426f6f30e","responseTime":230,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.233","http_referrer":"","http_user_agent":"node-fetch","requestID":"05de590816db397014bbd3a426f6f30e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMn0.95HMCh1hQabZ80yfA86MKEV4Yphmbm9Edljeewxmfxo","level":"info","message":"auth send jwt","requestID":"c16628298e9c92d973fc20326a2ed15b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c16628298e9c92d973fc20326a2ed15b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c16628298e9c92d973fc20326a2ed15b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 209ms","method":"POST","requestID":"87baf40732f0fedda776c7080ff6bd4c","responseTime":209,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"87baf40732f0fedda776c7080ff6bd4c"} gateway-1 | {"time_local":"25/Mar/2025:13:20:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.953","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"237cc5584cebd4977e2a571d538bce77"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:02Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.676044,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:02Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0c94446a-598f-4be7-b720-228689063090' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c16628298e9c92d973fc20326a2ed15b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908802,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMn0.95HMCh1hQabZ80yfA86MKEV4Yphmbm9Edljeewxmfxo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c16628298e9c92d973fc20326a2ed15b","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/a178fd89-fc04-4289-8431-9e63096bba3d' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8ba56225-9c06-4a8b-97a6-d9650f6a0859","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1307979} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c16628298e9c92d973fc20326a2ed15b","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f82e49c3-d08c-442e-b202-bbc02b51f971","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1360033} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c16628298e9c92d973fc20326a2ed15b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"104947da-e3b8-455e-9db7-49844e47e24e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1453328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3c90913-cdc3-47c2-b551-4de5b50d9e01","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.145585} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c16628298e9c92d973fc20326a2ed15b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"560a6e90-69fa-47b6-b9fd-af412999e6da","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1501026} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c16628298e9c92d973fc20326a2ed15b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c16628298e9c92d973fc20326a2ed15b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c16628298e9c92d973fc20326a2ed15b"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"c16628298e9c92d973fc20326a2ed15b","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMn0.95HMCh1hQabZ80yfA86MKEV4Yphmbm9Edljeewxmfxo","level":"info","message":"auth send jwt","requestID":"444f272b062392d3f9f055fa5a82aa26"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"444f272b062392d3f9f055fa5a82aa26","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"444f272b062392d3f9f055fa5a82aa26"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:02Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.725445,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"444f272b062392d3f9f055fa5a82aa26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908802,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwMn0.95HMCh1hQabZ80yfA86MKEV4Yphmbm9Edljeewxmfxo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"444f272b062392d3f9f055fa5a82aa26","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ff81daa-c148-41d9-aa85-0fcc069e067f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1770463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"444f272b062392d3f9f055fa5a82aa26","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60d8abb1-84c9-4196-81d9-556e6f77d6de","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1816556} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"444f272b062392d3f9f055fa5a82aa26","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"899cbf1c-ceb9-40c6-9ae0-af506589eb61","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1915255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bea43fc-deb1-4f1b-a77a-dad526387aa9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.191845} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"444f272b062392d3f9f055fa5a82aa26","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"037a7327-c0f8-488f-98e1-2383ce9b5c97","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908802.1961458} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"444f272b062392d3f9f055fa5a82aa26","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"444f272b062392d3f9f055fa5a82aa26"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"444f272b062392d3f9f055fa5a82aa26","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"444f272b062392d3f9f055fa5a82aa26"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"6782f554265128220c9e5779fe1873ab"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6782f554265128220c9e5779fe1873ab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6782f554265128220c9e5779fe1873ab"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64897,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"bf8ee3469073ac871f335d2e70b84cca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf8ee3469073ac871f335d2e70b84cca","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6782f554265128220c9e5779fe1873ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6782f554265128220c9e5779fe1873ab","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bf8ee3469073ac871f335d2e70b84cca"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.790997,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"bf8ee3469073ac871f335d2e70b84cca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf8ee3469073ac871f335d2e70b84cca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"c9220504-ee3d-4429-9a67-e5da763a6208","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.0313125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6782f554265128220c9e5779fe1873ab","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"98a965f4-31c9-49e1-a649-12c7ff0b2980","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.0357072} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"bf8ee3469073ac871f335d2e70b84cca","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"353a6088-3d2a-451e-a788-486500199f51","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.0631554} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6782f554265128220c9e5779fe1873ab","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ed33a1b-facf-44dc-a8b6-04bde8bcc318","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.0649571} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bf8ee3469073ac871f335d2e70b84cca","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"c09153eb-25f7-4a03-bbcc-394c4c6a277a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.0689232} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bf8ee3469073ac871f335d2e70b84cca","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bf8ee3469073ac871f335d2e70b84cca"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"bf8ee3469073ac871f335d2e70b84cca"} device-1 | {"level":"info","message":"PATCH /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c 200 45ms","method":"PATCH","requestID":"bf8ee3469073ac871f335d2e70b84cca","responseTime":45,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"2900832d63359f7e75db2f0fa94c5415"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2900832d63359f7e75db2f0fa94c5415","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2900832d63359f7e75db2f0fa94c5415"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881629,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2900832d63359f7e75db2f0fa94c5415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2900832d63359f7e75db2f0fa94c5415","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"b7f750cd-baca-49a4-896e-564c3e770472","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.122221} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6782f554265128220c9e5779fe1873ab","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6782f554265128220c9e5779fe1873ab"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.108","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"6782f554265128220c9e5779fe1873ab"} device-1 | {"level":"info","message":"PATCH /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e 200 103ms","method":"PATCH","requestID":"6782f554265128220c9e5779fe1873ab","responseTime":103,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"ef5645887fb2b90bc3011d9113a0e386"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef5645887fb2b90bc3011d9113a0e386","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ef5645887fb2b90bc3011d9113a0e386"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2900832d63359f7e75db2f0fa94c5415"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"2900832d63359f7e75db2f0fa94c5415"} device-1 | {"level":"info","message":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/websocket 200 57ms","method":"POST","requestID":"2900832d63359f7e75db2f0fa94c5415","responseTime":57,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/websocket"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822927,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef5645887fb2b90bc3011d9113a0e386","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ef5645887fb2b90bc3011d9113a0e386","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ef5645887fb2b90bc3011d9113a0e386"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ef5645887fb2b90bc3011d9113a0e386"} device-1 | {"level":"info","message":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/websocket 200 21ms","method":"POST","requestID":"ef5645887fb2b90bc3011d9113a0e386","responseTime":21,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"353e340ca9bfab8fbdae127fef388aae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"353e340ca9bfab8fbdae127fef388aae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"353e340ca9bfab8fbdae127fef388aae"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.032764,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"353e340ca9bfab8fbdae127fef388aae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"353e340ca9bfab8fbdae127fef388aae","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"ce8fbbdb-b116-4648-9d29-ab5a79508896","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.1760433} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"353e340ca9bfab8fbdae127fef388aae","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"353e340ca9bfab8fbdae127fef388aae"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e? 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":"353e340ca9bfab8fbdae127fef388aae"} device-1 | {"level":"info","message":"GET /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e? 200 12ms","method":"GET","requestID":"353e340ca9bfab8fbdae127fef388aae","responseTime":12,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"a04378dde585d75539d2719aba16c500"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a04378dde585d75539d2719aba16c500","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a04378dde585d75539d2719aba16c500"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650896,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a04378dde585d75539d2719aba16c500","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a04378dde585d75539d2719aba16c500","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"2a3149d6-c2e9-441d-9afa-82477f230c33","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.1913428} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a04378dde585d75539d2719aba16c500","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a04378dde585d75539d2719aba16c500"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c? 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":"a04378dde585d75539d2719aba16c500"} device-1 | {"level":"info","message":"GET /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c? 200 10ms","method":"GET","requestID":"a04378dde585d75539d2719aba16c500","responseTime":10,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"b8fd434464be8daee11ba504ff151713"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8fd434464be8daee11ba504ff151713","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b8fd434464be8daee11ba504ff151713"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.856582,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b8fd434464be8daee11ba504ff151713","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b8fd434464be8daee11ba504ff151713","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to run experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to book experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully booked experiment","requestID":"b8fd434464be8daee11ba504ff151713"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc7bbe90-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc7be5a0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866373,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc7bbe90-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc7bbe90-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646226,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc7be5a0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc7be5a0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"f55a6b84-4b4e-44d5-af2d-1d338b5ab5ec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.3297064} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc7bbe90-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"821b83c4-aa18-4695-be4d-f5d05e892460","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.330671} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc7be5a0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc7bbe90-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e? 200 13ms","method":"GET","requestID":"dc7bbe90-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc7be5a0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c? 200 13ms","method":"GET","requestID":"dc7be5a0-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Setting up experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully set up experiment","requestID":"b8fd434464be8daee11ba504ff151713"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc850d60-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc853470-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully running experiment","requestID":"b8fd434464be8daee11ba504ff151713"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc855b80-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706193,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc850d60-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc850d60-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858707,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc853470-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dc853470-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5df87bd-1059-40ba-9595-314febac8b92","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.3930697} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.745527,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc855b80-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc855b80-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"22506ebe-cf34-4dbd-ad9e-9b41319bd235","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.394589} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc850d60-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"e0758965-9e62-4a03-940f-b7e2f8a8cd63","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.3973894} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc855b80-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling 200 14ms","method":"POST","requestID":"dc855b80-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dc853470-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F96547070-5e11-4814-ab8f-c3cd2c8b3fbb#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F96547070-5e11-4814-ab8f-c3cd2c8b3fbb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7b40e3de-414f-4dfa-b18a-c5934be67f4f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.400669} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90d04b45-c7bb-4e7a-a3ba-85633ebe3e81","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4008994} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b8fd434464be8daee11ba504ff151713","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc881aa0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc850d60-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} device-1 | {"level":"info","message":"GET /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e? 200 23ms","method":"GET","requestID":"dc850d60-097b-11f0-96bb-59c96fe0af16","responseTime":23,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc853470-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c? 200 23ms","method":"GET","requestID":"dc853470-097b-11f0-96bb-59c96fe0af16","responseTime":23,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9efbea7-af61-4602-ba76-b86957bafc69","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4064827} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.506945,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc881aa0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc881aa0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc897a30-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b8fd434464be8daee11ba504ff151713"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"level":"info","message":"POST /experiments? 201 210ms","method":"POST","requestID":"b8fd434464be8daee11ba504ff151713","responseTime":210,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc881aa0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling 200 12ms","method":"POST","requestID":"dc881aa0-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0f35d88-1e50-4af7-9c5e-cfdabae38825","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4169703} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"eec6d6e3be14b64b0adac07fb94a091b"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.906254,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eec6d6e3be14b64b0adac07fb94a091b","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc897a30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eec6d6e3be14b64b0adac07fb94a091b"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dc897a30-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc897a30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling 200 27ms","method":"POST","requestID":"dc897a30-097b-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":19.309781,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc8e0e10-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eec6d6e3be14b64b0adac07fb94a091b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","method":"POST","requestID":"eec6d6e3be14b64b0adac07fb94a091b","responseTime":22,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0640f941-c7a7-49c2-b5c3-ae5594d973dd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.445582} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.145314956Z"}]},"request_id":"7a80a9e2-96c5-4f54-9502-0a36e811d45e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4459302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eec6d6e3be14b64b0adac07fb94a091b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.35856,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc8e0e10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc8e0e10-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eec6d6e3be14b64b0adac07fb94a091b"} device-1 | {"level":"info","message":"GET /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e? 200 32ms","method":"GET","requestID":"eec6d6e3be14b64b0adac07fb94a091b","responseTime":32,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e? 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":"eec6d6e3be14b64b0adac07fb94a091b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc8e0e10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling 200 10ms","method":"POST","requestID":"dc8e0e10-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Building connection plan","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"2c45e0c9-f870-47c4-899f-e5d050a48ae9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f0baef0d-cacb-4a9a-82e9-1e60ee77838f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6f0f22c5-253c-4960-ad69-2ba94552ad25"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b8fd434464be8daee11ba504ff151713"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b8fd434464be8daee11ba504ff151713"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0","level":"info","message":"auth send jwt","requestID":"47891d51876fb766335b7e5c9abd5b11"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"47891d51876fb766335b7e5c9abd5b11","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"47891d51876fb766335b7e5c9abd5b11"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.608378,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609675,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"47891d51876fb766335b7e5c9abd5b11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908803,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwM30.EMyONwfqa7QP8iAYY9TNNd7umwIIdegEvgP6ecAqJI0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"47891d51876fb766335b7e5c9abd5b11","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:02.191511957Z"}]},"request_id":"42a49cf2-4c5c-4959-974c-49859c526f74","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4899883} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"47891d51876fb766335b7e5c9abd5b11","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"47891d51876fb766335b7e5c9abd5b11"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"281149fe-8b84-41dd-ba81-379562291b68","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4948316} gateway-1 | {"time_local":"25/Mar/2025:13:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c? 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":"47891d51876fb766335b7e5c9abd5b11"} device-1 | {"level":"info","message":"GET /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c? 200 38ms","method":"GET","requestID":"47891d51876fb766335b7e5c9abd5b11","responseTime":38,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53175371-b46f-4d7e-b7ad-661b63814971","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.4951367} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723'","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723'","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 56ms","method":"POST","requestID":"dc9030f0-097b-11f0-96bb-59c96fe0af16","responseTime":56,"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":"dc9030f0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b8fd434464be8daee11ba504ff151713"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dca4f170-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27a49333-a57c-4cdc-af0f-b1c0fca90d6b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.59593} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.567373,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dca4f170-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dca4f170-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dca4f170-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling 200 9ms","method":"POST","requestID":"dca4f170-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dca67810-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53aacfdf-4898-4dce-acd3-794120bdf1a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908803.6055262} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.292298,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dca67810-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dca67810-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dca67810-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling 200 8ms","method":"POST","requestID":"dca67810-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling"} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/2730b5ef-bc67-4888-9727-38c6d3f59723' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a89206e86d23864b386625b033db6cf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a89206e86d23864b386625b033db6cf4","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723"}}},"level":"info","message":"received a callback","requestID":"a89206e86d23864b386625b033db6cf4"} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"a89206e86d23864b386625b033db6cf4","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"a89206e86d23864b386625b033db6cf4"} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"2730b5ef-bc67-4888-9727-38c6d3f59723","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/2730b5ef-bc67-4888-9727-38c6d3f59723' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ef3c991f09570da6a38a554327c30ca5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ef3c991f09570da6a38a554327c30ca5","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/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723"}}},"level":"info","message":"received a callback","requestID":"ef3c991f09570da6a38a554327c30ca5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"dddc6000-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2730b5ef-bc67-4888-9727-38c6d3f59723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2148aace-97eb-4c9a-a71a-b882b7d6f99d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.6369452} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.584136,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dddc6000-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723","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":"dddc6000-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"dddc6000-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723 200 35ms","method":"GET","requestID":"dddc6000-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNX0.fq7dLiwwPHRwImu1BqSWnw6phK1XDfzZ6JQmbSMv68g","level":"info","message":"auth send jwt","requestID":"64721c2b78e287aec63e84ef5b613519"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64721c2b78e287aec63e84ef5b613519","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 91ms","method":"POST","requestID":"ef3c991f09570da6a38a554327c30ca5","responseTime":91,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch","requestID":"ef3c991f09570da6a38a554327c30ca5"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","requestID":"64721c2b78e287aec63e84ef5b613519"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dde90a30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.884276,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"64721c2b78e287aec63e84ef5b613519","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908805,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNX0.fq7dLiwwPHRwImu1BqSWnw6phK1XDfzZ6JQmbSMv68g"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"64721c2b78e287aec63e84ef5b613519","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"356a1f72-4173-40ea-9256-eec514e8419d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.72074} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.99685,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dde90a30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","rebac_allow":false,"scope_allow":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":"dde90a30-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dde90a30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling 200 35ms","method":"POST","requestID":"dde90a30-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","requestID":"64721c2b78e287aec63e84ef5b613519"} gateway-1 | {"time_local":"25/Mar/2025:13:20:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64721c2b78e287aec63e84ef5b613519"} experiment-1 | {"level":"info","message":"GET /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb 200 37ms","method":"GET","requestID":"64721c2b78e287aec63e84ef5b613519","responseTime":37,"status":200,"url":"/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ddef24b0-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNX0.fq7dLiwwPHRwImu1BqSWnw6phK1XDfzZ6JQmbSMv68g","level":"info","message":"auth send jwt","requestID":"7e05aec648570d0bfda569d264b40e6d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e05aec648570d0bfda569d264b40e6d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","requestID":"7e05aec648570d0bfda569d264b40e6d"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f552bc4-2110-4675-bd09-16a18af06e8a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.7605877} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.089566,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ddef24b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ddef24b0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.898264,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7e05aec648570d0bfda569d264b40e6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908805,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNX0.fq7dLiwwPHRwImu1BqSWnw6phK1XDfzZ6JQmbSMv68g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7e05aec648570d0bfda569d264b40e6d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ddef24b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling 200 10ms","method":"POST","requestID":"ddef24b0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Attempting to finish experiment","requestID":"7e05aec648570d0bfda569d264b40e6d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ddf4f110-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.738775,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ddf4f110-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908805,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNX0.fq7dLiwwPHRwImu1BqSWnw6phK1XDfzZ6JQmbSMv68g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ddf4f110-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"48f09b3a-4b85-4a13-8653-d40e4b3b581e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/2730b5ef-bc67-4888-9727-38c6d3f59723' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2730b5ef-bc67-4888-9727-38c6d3f59723': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2730b5ef-bc67-4888-9727-38c6d3f59723","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"acef11c3-d8cf-4511-a1cf-236be5141c4f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.806998} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9aeab6aa-efe0-46f0-9408-b432daf7b951","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.8072138} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5829cdb3537a1bf7635432f37cfc2110","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5829cdb3537a1bf7635432f37cfc2110","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"592971fd7fff7372706cc93fddc905c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"ddf4f110-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"592971fd7fff7372706cc93fddc905c5","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/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723"}}},"level":"info","message":"received a callback","requestID":"5829cdb3537a1bf7635432f37cfc2110"} 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/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723"}}},"level":"info","message":"received a callback","requestID":"592971fd7fff7372706cc93fddc905c5"} device-1 | {"data":{"peerconnection":"2730b5ef-bc67-4888-9727-38c6d3f59723","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ddf4f110-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723 204 66ms","method":"DELETE","requestID":"ddf4f110-097b-11f0-96bb-59c96fe0af16","responseTime":66,"status":204,"url":"/peerconnections/2730b5ef-bc67-4888-9727-38c6d3f59723"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"},"level":"info","message":"Successfully finished experiment","requestID":"7e05aec648570d0bfda569d264b40e6d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de048170-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5a393a4-a8e3-45ab-82c1-0a891d648b0e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.900364} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.622983,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"de048170-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de048170-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de048170-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling 200 10ms","method":"POST","requestID":"de048170-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de065630-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F96547070-5e11-4814-ab8f-c3cd2c8b3fbb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F96547070-5e11-4814-ab8f-c3cd2c8b3fbb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"a6568a12-0a9e-48c3-9144-39b295d8ac12","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.908877} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79d19fd7-7df7-43bf-9320-ce13a6e94330","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.9090617} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"7e05aec648570d0bfda569d264b40e6d","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.295882,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:05Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F48f09b3a-4b85-4a13-8653-d40e4b3b581e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f68f903a-8486-4223-bb69-1b7f75e3e496","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908805.9111435} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"de065630-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e","object_type":"device","rebac_allow":false,"scope_allow":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":"de065630-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de065630-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling 200 33ms","method":"POST","requestID":"de065630-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb","requestID":"7e05aec648570d0bfda569d264b40e6d"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.255","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e05aec648570d0bfda569d264b40e6d"} experiment-1 | {"level":"info","message":"DELETE /experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb 204 252ms","method":"DELETE","requestID":"7e05aec648570d0bfda569d264b40e6d","responseTime":252,"status":204,"url":"/experiments/96547070-5e11-4814-ab8f-c3cd2c8b3fbb"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.859","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ee490fd6ca880f2db03d12b01698552d"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.877","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ebc86adac7ef041db1c54b8f42da925a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"370a44f3cce5428eb63d5b9d4e91aade"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"370a44f3cce5428eb63d5b9d4e91aade","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/48f09b3a-4b85-4a13-8653-d40e4b3b581e' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"370a44f3cce5428eb63d5b9d4e91aade"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.834596,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"370a44f3cce5428eb63d5b9d4e91aade","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"370a44f3cce5428eb63d5b9d4e91aade","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"5829cdb3537a1bf7635432f37cfc2110","responseTime":224,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"5829cdb3537a1bf7635432f37cfc2110"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 224ms","method":"POST","requestID":"592971fd7fff7372706cc93fddc905c5","responseTime":224,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"592971fd7fff7372706cc93fddc905c5"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5dee47f7-f280-41f1-9f1f-3c88afbf4c7c' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ecd662a-3a35-4d5f-99be-968bb0f1eeb9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"683bb76e-4a62-4fcc-bfce-729f9b1a425b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.0519414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"370a44f3cce5428eb63d5b9d4e91aade","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"938f3aa0-1fff-4b8c-b6a7-929481f87f43","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.05743} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"370a44f3cce5428eb63d5b9d4e91aade","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ecd662a-3a35-4d5f-99be-968bb0f1eeb9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b2ff7489-0897-4724-8b75-396c1dea8fb9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.0675004} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"406ce32a-52d7-4385-a038-88bf9c917d79","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.067773} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"370a44f3cce5428eb63d5b9d4e91aade","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ecd662a-3a35-4d5f-99be-968bb0f1eeb9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ecd662a-3a35-4d5f-99be-968bb0f1eeb9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.067482923Z"}]},"request_id":"95b7b655-4c53-46b6-9e41-59fac64628ec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.0729938} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"370a44f3cce5428eb63d5b9d4e91aade","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"370a44f3cce5428eb63d5b9d4e91aade"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +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":"370a44f3cce5428eb63d5b9d4e91aade"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"370a44f3cce5428eb63d5b9d4e91aade","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"8fe35b0253086500dd7cfe38903138ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8fe35b0253086500dd7cfe38903138ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8fe35b0253086500dd7cfe38903138ed"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.529436,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8fe35b0253086500dd7cfe38903138ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8fe35b0253086500dd7cfe38903138ed","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96f42896-c29e-4ef1-a22c-91e605010a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b254da06-bcc2-4a2a-8301-700c81eca07b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.0995867} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8fe35b0253086500dd7cfe38903138ed","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8753f09f-15a5-4702-b7b2-4affb570f18e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.125026} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"8fe35b0253086500dd7cfe38903138ed","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96f42896-c29e-4ef1-a22c-91e605010a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"e56b0646-ebb3-4de7-bf07-c7e11a82ebd6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.1394794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f974c588-16fc-4a28-8722-acad79c6a2de","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.1400723} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"8fe35b0253086500dd7cfe38903138ed","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96f42896-c29e-4ef1-a22c-91e605010a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96f42896-c29e-4ef1-a22c-91e605010a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.139441944Z"}]},"request_id":"821ce84f-5777-4cc7-abd0-7d496b02decb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.1439111} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8fe35b0253086500dd7cfe38903138ed","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8fe35b0253086500dd7cfe38903138ed"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8fe35b0253086500dd7cfe38903138ed"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"8fe35b0253086500dd7cfe38903138ed","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"18922bf784326aa69173e4fe842a69f5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"18922bf784326aa69173e4fe842a69f5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"18922bf784326aa69173e4fe842a69f5"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.635519,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"18922bf784326aa69173e4fe842a69f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"18922bf784326aa69173e4fe842a69f5","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b35466b-ee36-4e03-bcda-d6cdcee014d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"43ab377a-2517-4190-86a1-21e4c0fbaf51","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.1902595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"18922bf784326aa69173e4fe842a69f5","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2ad9a39-ee77-4929-9c37-7fa94b66f65c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.1942852} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"18922bf784326aa69173e4fe842a69f5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b35466b-ee36-4e03-bcda-d6cdcee014d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"ab94eec8-f726-4a95-a7b5-03b94a5fc9b0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.2256553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3200a328-416f-464c-8abc-45e41d094a4c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.2259061} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"18922bf784326aa69173e4fe842a69f5","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b35466b-ee36-4e03-bcda-d6cdcee014d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b35466b-ee36-4e03-bcda-d6cdcee014d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.225640761Z"}]},"request_id":"2efae0be-73c0-43e1-94be-b5b1910b8624","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.2299387} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"18922bf784326aa69173e4fe842a69f5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"18922bf784326aa69173e4fe842a69f5"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"18922bf784326aa69173e4fe842a69f5","responseTime":82,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18922bf784326aa69173e4fe842a69f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"594b3544d5ae9c6d37764914ead025f9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"594b3544d5ae9c6d37764914ead025f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"594b3544d5ae9c6d37764914ead025f9"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.630023,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"594b3544d5ae9c6d37764914ead025f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"594b3544d5ae9c6d37764914ead025f9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F120cf7b3-a9f3-44dd-a390-fca9605b1215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2d2dd27e-48f4-48ef-afd8-970767b93728","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.2753837} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"594b3544d5ae9c6d37764914ead025f9","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce8addfd-e792-4991-beef-b46fc1df9fc4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.2800815} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"594b3544d5ae9c6d37764914ead025f9","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F120cf7b3-a9f3-44dd-a390-fca9605b1215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7ff77704-ac28-468f-ad93-663aebe8d4da","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.288209} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9dedbbc3-9c4b-4ae1-980f-9db02d288b1e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.288457} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"594b3544d5ae9c6d37764914ead025f9","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F120cf7b3-a9f3-44dd-a390-fca9605b1215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F120cf7b3-a9f3-44dd-a390-fca9605b1215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.288190775Z"}]},"request_id":"9ac4f880-0255-4e9c-9542-bedfc8010e17","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.2919166} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"594b3544d5ae9c6d37764914ead025f9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"594b3544d5ae9c6d37764914ead025f9"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"594b3544d5ae9c6d37764914ead025f9"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"594b3544d5ae9c6d37764914ead025f9","responseTime":56,"status":201,"url":"/devices?"} device-1 | {"level":"info","message":"postDevices called","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.705482,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F055dfea6-6706-4b80-b876-51ff830ef4d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23cd70be-011d-4111-b436-ff5b160d0e5c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.3331141} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1f2e52a-fba0-426b-a784-9642d4a3ef7c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.3368406} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F055dfea6-6706-4b80-b876-51ff830ef4d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1a58a813-61eb-476e-b712-4dc765448b63","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.3701835} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4dba8cf-87e5-4794-8db8-eb5f800a0cf0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.3703573} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F055dfea6-6706-4b80-b876-51ff830ef4d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F055dfea6-6706-4b80-b876-51ff830ef4d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.370171181Z"}]},"request_id":"01f88dd4-8d9e-4fde-bfb9-24918a904c68","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.3738914} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22"} device-1 | {"level":"info","message":"POST /devices? 201 77ms","method":"POST","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22","responseTime":77,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bc9ea9bc3f3e8b822e3902cc5762b22"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"a507ff739a4fa469aae41dbb80ca8d5b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a507ff739a4fa469aae41dbb80ca8d5b"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.734127,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a507ff739a4fa469aae41dbb80ca8d5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05260399-902d-4608-bafe-59fa853ab1e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"50dbcce1-4977-43b5-84ef-167b2a6b84e5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.3958256} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","responseTime":22,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1132da4-8399-44c0-a71b-43c6b93eccd1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.4217815} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05260399-902d-4608-bafe-59fa853ab1e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7365cecb-25eb-4a40-8f05-ea2b867cc9ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.4303334} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61c3fc9f-495f-46f7-9d9b-5f4b0633d67f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.43047} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05260399-902d-4608-bafe-59fa853ab1e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05260399-902d-4608-bafe-59fa853ab1e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.430319667Z"}]},"request_id":"ceb2e3f1-0881-44b0-bedf-695811331488","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.4346964} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a507ff739a4fa469aae41dbb80ca8d5b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a507ff739a4fa469aae41dbb80ca8d5b"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"a507ff739a4fa469aae41dbb80ca8d5b","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.714426,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bc7aa97-40a0-4bdd-8a4d-12ffadbe37a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4643a025-860f-4486-86e5-a0a43dd08403","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.478931} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20dfb9de-f192-46fd-8e9b-037018b59840","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.4828203} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bc7aa97-40a0-4bdd-8a4d-12ffadbe37a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"0b431f00-e7df-4c1b-96ad-dc788b8ebd82","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5172427} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca29c0dd-546a-4be4-b2aa-24fedc715d38","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.517496} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bc7aa97-40a0-4bdd-8a4d-12ffadbe37a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bc7aa97-40a0-4bdd-8a4d-12ffadbe37a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.517229479Z"}]},"request_id":"44253257-67f0-4783-956f-380b5215a713","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5209813} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639","responseTime":57,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1bdc5936b0cc4fdc0a7f68cb25b9639"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"10ed988acefbb810066aefd91de168a8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"10ed988acefbb810066aefd91de168a8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"10ed988acefbb810066aefd91de168a8"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.760652,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"10ed988acefbb810066aefd91de168a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"10ed988acefbb810066aefd91de168a8","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8571614d-f339-4fc3-a988-009140c4ff9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4156ab0b-5475-4a95-8d7a-302236915964","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5632274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"10ed988acefbb810066aefd91de168a8","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2782c7dc-3b0b-4597-a264-33ea75aac418","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5667646} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"10ed988acefbb810066aefd91de168a8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8571614d-f339-4fc3-a988-009140c4ff9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"9df45ed6-695a-425c-92b3-7b9a45f04e8e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5772264} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"611df7ab-14ad-4ab7-9ca3-9a3954c0bcb9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5773168} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"10ed988acefbb810066aefd91de168a8","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8571614d-f339-4fc3-a988-009140c4ff9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8571614d-f339-4fc3-a988-009140c4ff9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.577214507Z"}]},"request_id":"cf506890-a0af-4cc7-9371-689c06578db9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.5808258} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"10ed988acefbb810066aefd91de168a8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"10ed988acefbb810066aefd91de168a8"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10ed988acefbb810066aefd91de168a8"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"10ed988acefbb810066aefd91de168a8","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"5e638c114b1066e79ba262c7b47ffea4"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"5e638c114b1066e79ba262c7b47ffea4","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5e638c114b1066e79ba262c7b47ffea4"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.770054,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5e638c114b1066e79ba262c7b47ffea4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e638c114b1066e79ba262c7b47ffea4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38541183-bc06-4ffc-befd-ecc8914caaa7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aba1cd77-fbe0-4e4e-b8e8-71b50fde587b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.625436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e638c114b1066e79ba262c7b47ffea4","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44c807c5-b869-4795-981d-6810d61b2650","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.628987} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5e638c114b1066e79ba262c7b47ffea4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38541183-bc06-4ffc-befd-ecc8914caaa7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"0d88b11a-d16e-41d6-9fe8-c6f18f170689","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.6668634} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"014bf339-c206-42de-ba3f-850ae1e2b56e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.6670973} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"5e638c114b1066e79ba262c7b47ffea4","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38541183-bc06-4ffc-befd-ecc8914caaa7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38541183-bc06-4ffc-befd-ecc8914caaa7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.666845497Z"}]},"request_id":"4eaf14e7-5e5f-460a-81b5-4576831f9a40","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.6704624} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5e638c114b1066e79ba262c7b47ffea4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5e638c114b1066e79ba262c7b47ffea4"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"5e638c114b1066e79ba262c7b47ffea4","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +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":"5e638c114b1066e79ba262c7b47ffea4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"ecdcc38f80be36e024804a6210eff5f9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ecdcc38f80be36e024804a6210eff5f9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ecdcc38f80be36e024804a6210eff5f9"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.660418,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ecdcc38f80be36e024804a6210eff5f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ecdcc38f80be36e024804a6210eff5f9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6132333-de72-43ac-8ce8-01e2587af54a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4c1de247-b72c-4f7d-8804-2069248f6e45","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7025936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ecdcc38f80be36e024804a6210eff5f9","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1c689e5-c3fb-4761-bb60-288c762b7b12","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7067516} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"ecdcc38f80be36e024804a6210eff5f9","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6132333-de72-43ac-8ce8-01e2587af54a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"28ace27a-c487-4985-a457-b999a06ff3fc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7157612} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffe62935-06c6-4c25-bd26-3047fc34b906","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7158868} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"ecdcc38f80be36e024804a6210eff5f9","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6132333-de72-43ac-8ce8-01e2587af54a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6132333-de72-43ac-8ce8-01e2587af54a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.715747199Z"}]},"request_id":"501d5750-d0dc-4975-80a0-01b185db968e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.719586} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ecdcc38f80be36e024804a6210eff5f9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ecdcc38f80be36e024804a6210eff5f9"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"ecdcc38f80be36e024804a6210eff5f9","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ecdcc38f80be36e024804a6210eff5f9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"287fcdee5f09ec9e1160b8febd166225"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"287fcdee5f09ec9e1160b8febd166225","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"287fcdee5f09ec9e1160b8febd166225"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.718824,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"287fcdee5f09ec9e1160b8febd166225","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"287fcdee5f09ec9e1160b8febd166225","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c0d92f67-1423-4292-bf9d-097c3a7db1cc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7411084} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"287fcdee5f09ec9e1160b8febd166225","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c13ea6e-c0aa-48b6-84ef-bc17b3b3e015","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7452314} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"287fcdee5f09ec9e1160b8febd166225","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"52db3401-3f60-4a76-aa46-7d4c8d069199","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.75469} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06ee13cd-8a0b-4aea-9276-5d676567f21b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7546954} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"287fcdee5f09ec9e1160b8febd166225","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.754672940Z"}]},"request_id":"bc624c4b-b689-42a0-90ba-fac1cb62de7b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.758412} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"287fcdee5f09ec9e1160b8febd166225","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"287fcdee5f09ec9e1160b8febd166225"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"287fcdee5f09ec9e1160b8febd166225"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"287fcdee5f09ec9e1160b8febd166225","responseTime":34,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"8ca98bb3fe809868e551c84410b341d8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ca98bb3fe809868e551c84410b341d8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8ca98bb3fe809868e551c84410b341d8"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.720422,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8ca98bb3fe809868e551c84410b341d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ca98bb3fe809868e551c84410b341d8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e9b4bf36-ee52-4e3b-a740-fc519a5cfc23","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7830305} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8ca98bb3fe809868e551c84410b341d8","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29927e5f-eb79-4ae0-bb4b-a9b706dfcb7c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.7890494} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8ca98bb3fe809868e551c84410b341d8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"db80e878-d309-4585-8b59-b20d44335871","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.8118498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d4d6932-afee-4784-b55a-2591cce31547","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.8119898} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"8ca98bb3fe809868e551c84410b341d8","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.811835542Z"}]},"request_id":"8623e14b-f882-41cd-bd82-32068313b178","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.815832} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8ca98bb3fe809868e551c84410b341d8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8ca98bb3fe809868e551c84410b341d8"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"8ca98bb3fe809868e551c84410b341d8","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ca98bb3fe809868e551c84410b341d8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"9c3c265de7577e736f15932cddc5e2dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c3c265de7577e736f15932cddc5e2dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9c3c265de7577e736f15932cddc5e2dc"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.722929,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9c3c265de7577e736f15932cddc5e2dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9c3c265de7577e736f15932cddc5e2dc","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d81759ec-7592-4c4c-9229-d76c6e065bca","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.8565958} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9c3c265de7577e736f15932cddc5e2dc","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2529c61f-c049-4be3-bd43-187e35df1ee5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.860614} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9c3c265de7577e736f15932cddc5e2dc","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"6264149e-7738-4dd8-a507-e258337a7614","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.868203} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3596c72b-4613-4f20-aa37-d0af11a9ab84","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.868461} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"9c3c265de7577e736f15932cddc5e2dc","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.868183453Z"}]},"request_id":"9cfdb070-626b-4426-98bc-d7c69394e0d7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.8979392} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"9c3c265de7577e736f15932cddc5e2dc","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9c3c265de7577e736f15932cddc5e2dc"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"9c3c265de7577e736f15932cddc5e2dc","responseTime":81,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c3c265de7577e736f15932cddc5e2dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0","level":"info","message":"auth send jwt","requestID":"3c11e8da2513a6319bd93d65bf6a3a97"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c11e8da2513a6319bd93d65bf6a3a97","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3c11e8da2513a6319bd93d65bf6a3a97"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794971,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3c11e8da2513a6319bd93d65bf6a3a97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908806,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwNn0.H5CLxE3l9Z9xq5k6DBAWViirsZaxRtNKKRaUNWBoog0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3c11e8da2513a6319bd93d65bf6a3a97","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.754672940Z"}]},"request_id":"6994c995-88b3-4878-86d4-afbb967ec112","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.918813} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3c11e8da2513a6319bd93d65bf6a3a97","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cc2ce93-ca9d-4e18-9cbe-e4c69799e4ab","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.9472125} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3c11e8da2513a6319bd93d65bf6a3a97","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.754672940Z"}]},"request_id":"54c9aad0-e88a-47df-bc96-7041450d139c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908806.998183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c11e8da2513a6319bd93d65bf6a3a97","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3c11e8da2513a6319bd93d65bf6a3a97"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c11e8da2513a6319bd93d65bf6a3a97"} device-1 | {"level":"info","message":"PATCH /devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990? 200 90ms","method":"PATCH","requestID":"3c11e8da2513a6319bd93d65bf6a3a97","responseTime":90,"status":200,"url":"/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"51ff8ab477297beec5a8a6e4b35777b1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51ff8ab477297beec5a8a6e4b35777b1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"51ff8ab477297beec5a8a6e4b35777b1"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728866,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/17e807cc-1e44-4f07-ad49-c5774accb9be","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"51ff8ab477297beec5a8a6e4b35777b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/17e807cc-1e44-4f07-ad49-c5774accb9be","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"51ff8ab477297beec5a8a6e4b35777b1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.811835542Z"}]},"request_id":"d917fe61-c180-46eb-9d9c-d252af7f1ed5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.0141568} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"51ff8ab477297beec5a8a6e4b35777b1","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"039700e8-339b-4f10-9065-0fc8a0778bdf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.0436177} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"51ff8ab477297beec5a8a6e4b35777b1","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.811835542Z"}]},"request_id":"473716f7-0b98-4cd0-bafa-b8f531e9d2ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.0560138} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"51ff8ab477297beec5a8a6e4b35777b1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"51ff8ab477297beec5a8a6e4b35777b1"} device-1 | {"level":"info","message":"PATCH /devices/17e807cc-1e44-4f07-ad49-c5774accb9be? 200 53ms","method":"PATCH","requestID":"51ff8ab477297beec5a8a6e4b35777b1","responseTime":53,"status":200,"url":"/devices/17e807cc-1e44-4f07-ad49-c5774accb9be?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/17e807cc-1e44-4f07-ad49-c5774accb9be? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51ff8ab477297beec5a8a6e4b35777b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"35ee90c06c49e0d068089953c98d2e7f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35ee90c06c49e0d068089953c98d2e7f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"35ee90c06c49e0d068089953c98d2e7f"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29497,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"35ee90c06c49e0d068089953c98d2e7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"35ee90c06c49e0d068089953c98d2e7f","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.868183453Z"}]},"request_id":"261b66bb-1e4d-4332-8916-795eaee71975","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.0968394} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"35ee90c06c49e0d068089953c98d2e7f","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dcd1502-a76d-4bfc-84ec-9bc8fa9ffe2d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.1007445} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"35ee90c06c49e0d068089953c98d2e7f","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.868183453Z"}]},"request_id":"04b9c15c-9845-43d0-82a0-6ffc533bcc7b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.1103094} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"35ee90c06c49e0d068089953c98d2e7f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"35ee90c06c49e0d068089953c98d2e7f"} device-1 | {"level":"info","message":"PATCH /devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49? 200 75ms","method":"PATCH","requestID":"35ee90c06c49e0d068089953c98d2e7f","responseTime":75,"status":200,"url":"/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35ee90c06c49e0d068089953c98d2e7f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"d1fdafc679823023a9913df160bc5f7b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1fdafc679823023a9913df160bc5f7b"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780101,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d1fdafc679823023a9913df160bc5f7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.754672940Z"}]},"request_id":"9ee9dc77-fbec-4127-9de9-c18b4addf2a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.1500542} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825546,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592974,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ecd662a-3a35-4d5f-99be-968bb0f1eeb9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d1fdafc679823023a9913df160bc5f7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9ecd662a-3a35-4d5f-99be-968bb0f1eeb9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96f42896-c29e-4ef1-a22c-91e605010a76","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d1fdafc679823023a9913df160bc5f7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/96f42896-c29e-4ef1-a22c-91e605010a76","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835605,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17e807cc-1e44-4f07-ad49-c5774accb9be","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d1fdafc679823023a9913df160bc5f7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/17e807cc-1e44-4f07-ad49-c5774accb9be","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805218,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b35466b-ee36-4e03-bcda-d6cdcee014d4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d1fdafc679823023a9913df160bc5f7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8b35466b-ee36-4e03-bcda-d6cdcee014d4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1fdafc679823023a9913df160bc5f7b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1fdafc679823023a9913df160bc5f7b"} device-1 | {"level":"info","message":"GET /devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990? 200 46ms","method":"GET","requestID":"d1fdafc679823023a9913df160bc5f7b","responseTime":46,"status":200,"url":"/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"a3c99c0a1c47c45dae71be1a147b3911"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3c99c0a1c47c45dae71be1a147b3911"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747201,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17e807cc-1e44-4f07-ad49-c5774accb9be","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/17e807cc-1e44-4f07-ad49-c5774accb9be","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17e807cc-1e44-4f07-ad49-c5774accb9be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.811835542Z"}]},"request_id":"0b93cafc-7048-412e-8efb-cd4237c97103","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.200617} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595726,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.459861,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.41887,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/120cf7b3-a9f3-44dd-a390-fca9605b1215","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/120cf7b3-a9f3-44dd-a390-fca9605b1215","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/055dfea6-6706-4b80-b876-51ff830ef4d8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/055dfea6-6706-4b80-b876-51ff830ef4d8","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05260399-902d-4608-bafe-59fa853ab1e9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/05260399-902d-4608-bafe-59fa853ab1e9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624549,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734643,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54176","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54176","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715514,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bc7aa97-40a0-4bdd-8a4d-12ffadbe37a1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3c99c0a1c47c45dae71be1a147b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9bc7aa97-40a0-4bdd-8a4d-12ffadbe37a1","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3c99c0a1c47c45dae71be1a147b3911"} device-1 | {"level":"info","message":"GET /devices/17e807cc-1e44-4f07-ad49-c5774accb9be? 200 49ms","method":"GET","requestID":"a3c99c0a1c47c45dae71be1a147b3911","responseTime":49,"status":200,"url":"/devices/17e807cc-1e44-4f07-ad49-c5774accb9be?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/17e807cc-1e44-4f07-ad49-c5774accb9be? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3c99c0a1c47c45dae71be1a147b3911"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"384f0ac180a2ac656bb788a7ee3e390c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"384f0ac180a2ac656bb788a7ee3e390c"} authorization-1 | {"client_addr":"127.0.0.1:54176","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54176","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783731,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"384f0ac180a2ac656bb788a7ee3e390c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c403a52-b715-4ed6-a2bf-bef0edfe4e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:06.868183453Z"}]},"request_id":"72315b7d-c248-4899-8cf0-366da2ea18e6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.2554264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54176","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54176","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645574,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867355,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726905,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8571614d-f339-4fc3-a988-009140c4ff9a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"384f0ac180a2ac656bb788a7ee3e390c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8571614d-f339-4fc3-a988-009140c4ff9a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38541183-bc06-4ffc-befd-ecc8914caaa7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"384f0ac180a2ac656bb788a7ee3e390c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/38541183-bc06-4ffc-befd-ecc8914caaa7","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6132333-de72-43ac-8ce8-01e2587af54a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"384f0ac180a2ac656bb788a7ee3e390c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/e6132333-de72-43ac-8ce8-01e2587af54a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734658,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"384f0ac180a2ac656bb788a7ee3e390c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4171c7aa-6a9b-41d4-9eb2-9f606c3ae990","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"384f0ac180a2ac656bb788a7ee3e390c"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"384f0ac180a2ac656bb788a7ee3e390c"} device-1 | {"level":"info","message":"GET /devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49? 200 45ms","method":"GET","requestID":"384f0ac180a2ac656bb788a7ee3e390c","responseTime":45,"status":200,"url":"/devices/3c403a52-b715-4ed6-a2bf-bef0edfe4e49?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"6621918b7b2d098877bc9f2d02a37f5c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6621918b7b2d098877bc9f2d02a37f5c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6621918b7b2d098877bc9f2d02a37f5c"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.717702,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6621918b7b2d098877bc9f2d02a37f5c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6621918b7b2d098877bc9f2d02a37f5c","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fd9448a8-d443-4506-8762-8d6a88df8726","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.3400033} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6621918b7b2d098877bc9f2d02a37f5c","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64a69957-3341-4e90-9ac1-b7226dc4c2bc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.343735} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"6621918b7b2d098877bc9f2d02a37f5c","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"11187859-279c-484c-b9e5-b1ec5c731a21","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.3539257} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09348f56-b9bf-4101-aa9f-26600ceeeca1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.35395} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6621918b7b2d098877bc9f2d02a37f5c","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.353904668Z"}]},"request_id":"29a5e34f-1281-4342-8364-8761537d5b83","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.3780818} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"6621918b7b2d098877bc9f2d02a37f5c","responseTime":22,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6621918b7b2d098877bc9f2d02a37f5c"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6621918b7b2d098877bc9f2d02a37f5c"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"6621918b7b2d098877bc9f2d02a37f5c","responseTime":81,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"2f75b283d7c6bb47aab7baef92fe53a1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2f75b283d7c6bb47aab7baef92fe53a1"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.656143,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2f75b283d7c6bb47aab7baef92fe53a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdcf0dfba-55e7-4744-a7e5-2e80637129d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"795b15bd-fd74-4978-abf3-a6f9c726385c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.4025822} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bd4c43d-36fd-42e2-b677-7aa8e50691f8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.4268544} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdcf0dfba-55e7-4744-a7e5-2e80637129d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b93b9981-0fc5-4fd7-a8f8-7519659e0d56","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.4369624} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43c8e199-397d-49a7-b057-1c6a783ab074","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.437145} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdcf0dfba-55e7-4744-a7e5-2e80637129d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdcf0dfba-55e7-4744-a7e5-2e80637129d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.436947711Z"}]},"request_id":"8c3c33e5-4b2a-4116-8ef5-ee764ab616ed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.4417064} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2f75b283d7c6bb47aab7baef92fe53a1"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f75b283d7c6bb47aab7baef92fe53a1"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"2f75b283d7c6bb47aab7baef92fe53a1","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs","level":"info","message":"auth send jwt","requestID":"53918bd32c8478176698592d4633846b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"53918bd32c8478176698592d4633846b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"53918bd32c8478176698592d4633846b"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.687714,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"53918bd32c8478176698592d4633846b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908807,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwN30.rXes9dQh40cOze2rEPtGQiDaN4jmUUmeC5Euz3Ew4cs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53918bd32c8478176698592d4633846b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5ac4d7ca-2cfa-483d-8313-f23a9723b61f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.487505} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53918bd32c8478176698592d4633846b","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"301dedd9-da8a-4aa6-8196-c95a6678bf81","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.4912522} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"53918bd32c8478176698592d4633846b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"337ba6b0-ba48-48db-b45f-7c2797206668","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.500628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"544705e5-0532-40d0-abe2-7866e3c8ee51","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.5209982} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"53918bd32c8478176698592d4633846b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.500611371Z"}]},"request_id":"0e288dd4-5eb9-4c2f-ae13-028942f84a25","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908807.5244968} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"53918bd32c8478176698592d4633846b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"53918bd32c8478176698592d4633846b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53918bd32c8478176698592d4633846b"} device-1 | {"level":"info","message":"POST /devices? 201 78ms","method":"POST","requestID":"53918bd32c8478176698592d4633846b","responseTime":78,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d6d09b481d9745ffea7cf7347d4d076d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d6d09b481d9745ffea7cf7347d4d076d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ae00f036-5544-4061-8855-de31f1891157/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":"d6d09b481d9745ffea7cf7347d4d076d"} device-1 | {"level":"info","message":"OPTIONS /devices/ae00f036-5544-4061-8855-de31f1891157/websocket 200 1ms","method":"OPTIONS","requestID":"d6d09b481d9745ffea7cf7347d4d076d","responseTime":1,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg","level":"info","message":"auth send jwt","requestID":"b8714446bb1a0f12e6bbf792d1e298c7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8714446bb1a0f12e6bbf792d1e298c7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b8714446bb1a0f12e6bbf792d1e298c7"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291578,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b8714446bb1a0f12e6bbf792d1e298c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8714446bb1a0f12e6bbf792d1e298c7","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b8714446bb1a0f12e6bbf792d1e298c7"} device-1 | {"level":"info","message":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/websocket 200 31ms","method":"POST","requestID":"b8714446bb1a0f12e6bbf792d1e298c7","responseTime":31,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/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":"b8714446bb1a0f12e6bbf792d1e298c7"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"150525bffa114bcc31e36272759f543e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"150525bffa114bcc31e36272759f543e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/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":"150525bffa114bcc31e36272759f543e"} device-1 | {"level":"info","message":"OPTIONS /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/websocket 200 1ms","method":"OPTIONS","requestID":"150525bffa114bcc31e36272759f543e","responseTime":1,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg","level":"info","message":"auth send jwt","requestID":"0038e9189d9396720f95f9c01e81cd92"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0038e9189d9396720f95f9c01e81cd92","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0038e9189d9396720f95f9c01e81cd92"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7289,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0038e9189d9396720f95f9c01e81cd92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0038e9189d9396720f95f9c01e81cd92","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0038e9189d9396720f95f9c01e81cd92"} gateway-1 | {"time_local":"25/Mar/2025:13:20:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0038e9189d9396720f95f9c01e81cd92"} device-1 | {"level":"info","message":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/websocket 200 20ms","method":"POST","requestID":"0038e9189d9396720f95f9c01e81cd92","responseTime":20,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg","level":"info","message":"auth send jwt","requestID":"744dcedbbe5971f035af7f1df741e95e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"744dcedbbe5971f035af7f1df741e95e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"744dcedbbe5971f035af7f1df741e95e"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694688,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"744dcedbbe5971f035af7f1df741e95e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"744dcedbbe5971f035af7f1df741e95e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.500611371Z"}]},"request_id":"e0d945e9-199d-402c-bb71-dedfd2325dbd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908809.8959837} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"744dcedbbe5971f035af7f1df741e95e","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"744dcedbbe5971f035af7f1df741e95e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae00f036-5544-4061-8855-de31f1891157? 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":"744dcedbbe5971f035af7f1df741e95e"} device-1 | {"level":"info","message":"GET /devices/ae00f036-5544-4061-8855-de31f1891157? 200 35ms","method":"GET","requestID":"744dcedbbe5971f035af7f1df741e95e","responseTime":35,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg","level":"info","message":"auth send jwt","requestID":"d5634d85c57b915264f3642f67ed0b49"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5634d85c57b915264f3642f67ed0b49","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d5634d85c57b915264f3642f67ed0b49"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.875104,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d5634d85c57b915264f3642f67ed0b49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d5634d85c57b915264f3642f67ed0b49","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to run experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to book experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully booked experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e075a880-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e079a020-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708414,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dcf0dfba-55e7-4744-a7e5-2e80637129d5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e075a880-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/dcf0dfba-55e7-4744-a7e5-2e80637129d5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e075a880-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621257,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e079a020-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e079a020-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdcf0dfba-55e7-4744-a7e5-2e80637129d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdcf0dfba-55e7-4744-a7e5-2e80637129d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.436947711Z"}]},"request_id":"4388219b-4290-4332-a33c-7be97733d6e4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.0249255} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e075a880-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.500611371Z"}]},"request_id":"646580c9-0fe6-431f-911f-f43d684277f4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.0258262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e079a020-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e079a020-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/ae00f036-5544-4061-8855-de31f1891157? 200 12ms","method":"GET","requestID":"e079a020-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157?"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742591,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e075a880-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e075a880-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e075a880-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/dcf0dfba-55e7-4744-a7e5-2e80637129d5? 200 41ms","method":"GET","requestID":"e075a880-097b-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/dcf0dfba-55e7-4744-a7e5-2e80637129d5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Setting up experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully set up experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0897ea0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e089ccc0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e089f3d0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully running experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928775,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0897ea0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0897ea0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663754,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e089ccc0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e089ccc0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c119d076-8c89-4d0f-8bf3-92ed4b95571d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1312828} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.613364,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.353904668Z"}]},"request_id":"ea4fb7ae-d101-44e5-bfd3-be34d3ec0453","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1333008} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e089f3d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","rebac_allow":false,"scope_allow":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":"e089f3d0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e0897ea0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.500611371Z"}]},"request_id":"e0235ea6-70fa-4193-ae19-7c083c271e0a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1343083} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e089ccc0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F638da145-ccad-416c-b492-0b8ff1617ec4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F638da145-ccad-416c-b492-0b8ff1617ec4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"bb5c3d11-2f00-4889-b488-f8164e6c4efd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1428454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fff3bb1-7c7f-4372-8ee5-da6e742b0024","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1430216} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d5634d85c57b915264f3642f67ed0b49","responseTime":14,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d5634d85c57b915264f3642f67ed0b49"} gateway-1 | {"time_local":"25/Mar/2025:13:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.226","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"level":"info","message":"POST /experiments? 201 222ms","method":"POST","requestID":"d5634d85c57b915264f3642f67ed0b49","responseTime":222,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e089f3d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling 200 29ms","method":"POST","requestID":"e089f3d0-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0897ea0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02? 200 33ms","method":"GET","requestID":"e0897ea0-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e08eaec0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e089ccc0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/ae00f036-5544-4061-8855-de31f1891157? 200 34ms","method":"GET","requestID":"e089ccc0-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157?"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e08f4b00-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI","level":"info","message":"auth send jwt","requestID":"034d97d77a6d8a477e51b0f831c4573a"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"034d97d77a6d8a477e51b0f831c4573a","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"034d97d77a6d8a477e51b0f831c4573a"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fad7a5bc-4827-4459-a145-498facc4fec7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1634586} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55568","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.065861,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de826a6b-6d5e-4aa8-a8dd-ee28a03e43df","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1662183} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e08eaec0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","rebac_allow":false,"scope_allow":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":"e08eaec0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.825821,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828591,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e08f4b00-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","rebac_allow":false,"scope_allow":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":"e08f4b00-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"034d97d77a6d8a477e51b0f831c4573a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908810,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"034d97d77a6d8a477e51b0f831c4573a","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e08eaec0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/signaling 200 17ms","method":"POST","requestID":"e08eaec0-097b-11f0-96bb-59c96fe0af16","responseTime":17,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e08f4b00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling 200 14ms","method":"POST","requestID":"e08f4b00-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.353904668Z"}]},"request_id":"a748ff10-fea8-493a-8ae0-9303c9e4ad1f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1750045} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"034d97d77a6d8a477e51b0f831c4573a","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e091bc00-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"034d97d77a6d8a477e51b0f831c4573a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"034d97d77a6d8a477e51b0f831c4573a"} device-1 | {"level":"info","message":"GET /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02? 200 18ms","method":"GET","requestID":"034d97d77a6d8a477e51b0f831c4573a","responseTime":18,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce62170b-85bb-4d88-86b4-f1e9b1b2caef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1815798} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.091936,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e091bc00-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e091bc00-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI","level":"info","message":"auth send jwt","requestID":"62b15a97cee8f2172b4c5d93f4dd5408"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62b15a97cee8f2172b4c5d93f4dd5408","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"62b15a97cee8f2172b4c5d93f4dd5408"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e091bc00-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} device-1 | {"level":"info","message":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/signaling 200 12ms","method":"POST","requestID":"e091bc00-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839194,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Building connection plan","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e5fbe319-03f3-4949-8597-8b697c9af461"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e4612afb-7c02-4abd-bf2c-83e2851ff704"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"875e6eb3-4e42-4ac4-afc7-a29800feab89"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d5634d85c57b915264f3642f67ed0b49"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d5634d85c57b915264f3642f67ed0b49"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"62b15a97cee8f2172b4c5d93f4dd5408","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908810,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"62b15a97cee8f2172b4c5d93f4dd5408","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:07.500611371Z"}]},"request_id":"9ffc9bfd-5e84-4fd5-97ad-31ca95c91e7e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.1931415} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"62b15a97cee8f2172b4c5d93f4dd5408","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.6408,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908809,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgwOX0.SbraTCB9tpRh0F2wvYvweNo3GgAYyc4Gnkhe1c0phJg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"62b15a97cee8f2172b4c5d93f4dd5408"} gateway-1 | {"time_local":"25/Mar/2025:13:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae00f036-5544-4061-8855-de31f1891157? 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":"62b15a97cee8f2172b4c5d93f4dd5408"} device-1 | {"level":"info","message":"GET /devices/ae00f036-5544-4061-8855-de31f1891157? 200 13ms","method":"GET","requestID":"62b15a97cee8f2172b4c5d93f4dd5408","responseTime":13,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fe541b40-51eb-4a10-a208-8a90b5fefb34","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.2037163} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa1bbcba-ebbd-42d0-949f-17b3126aeaef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.2039862} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133'","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133'","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 40ms","method":"POST","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e0942d00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","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/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","device":"ae00f036-5544-4061-8855-de31f1891157","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/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d5634d85c57b915264f3642f67ed0b49"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0a5b930-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e963195-1091-467a-8b72-d854d0a1c29e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.3118563} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.196151,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0a5b930-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","rebac_allow":false,"scope_allow":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":"e0a5b930-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0a5b930-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling 200 8ms","method":"POST","requestID":"e0a5b930-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0a73fd0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5ec27d2-c4f4-4849-ba53-a3af0e0acd18","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.3212864} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.197615,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0a73fd0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","rebac_allow":false,"scope_allow":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":"e0a73fd0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0a73fd0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/signaling 200 8ms","method":"POST","requestID":"e0a73fd0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/signaling"} device-1 | {"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4293488435304881491 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:Yk9U\r\na=ice-pwd:X7bpeS6Prx7SQgOg4DS1HzPe\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5A:69:EA:18:E8:A5:08:BE:78:9A:EA:8A:5D:00:0E:8F:3E:06:20:40:7D:73:38:DC:7E:6D:CD:FB:A2:DF:74:50\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 2387141143770955640 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:OmHv\r\na=ice-pwd:cFgA6chqzm63wAbAmYj4AYjb\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FA:74:80:E1:D9:B3:97:82:C9:08:01:40:6E:50:04:55:89:F9:91:E8:50:D0:47:01:05:E5:B4:10:42:E7:BA:0A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2135053007 1 udp 2113937151 7ccefc05-129a-4795-8737-9c5323918d97.local 51001 typ host generation 0 ufrag OmHv network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ae00f036-5544-4061-8855-de31f1891157","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/ae00f036-5544-4061-8855-de31f1891157'"} device-1 | {"content":{"candidate":"candidate:4235140883 1 udp 2113937151 66fd7b00-a202-4808-b887-b4c60d1ae770.local 56632 typ host generation 0 ufrag Yk9U network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ae00f036-5544-4061-8855-de31f1891157","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/2ed77543-8d36-4ec0-8a31-35dd8e0fa133' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ed77543-8d36-4ec0-8a31-35dd8e0fa133","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0a25e0999938c173c02af58304f3102","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0a25e0999938c173c02af58304f3102","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/ae00f036-5544-4061-8855-de31f1891157"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133"}}},"level":"info","message":"received a callback","requestID":"d0a25e0999938c173c02af58304f3102"} device-1 | {"device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d0a25e0999938c173c02af58304f3102","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:10 +0000","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":"d0a25e0999938c173c02af58304f3102"} device-1 | {"data":{"peerconnection":"2ed77543-8d36-4ec0-8a31-35dd8e0fa133","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2ed77543-8d36-4ec0-8a31-35dd8e0fa133","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/2ed77543-8d36-4ec0-8a31-35dd8e0fa133' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ed77543-8d36-4ec0-8a31-35dd8e0fa133","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4f580b1baea3fe26b98455da744bbd16","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4f580b1baea3fe26b98455da744bbd16","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/ae00f036-5544-4061-8855-de31f1891157"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133"}}},"level":"info","message":"received a callback","requestID":"4f580b1baea3fe26b98455da744bbd16"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e0c2de20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ed77543-8d36-4ec0-8a31-35dd8e0fa133","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6212efe-7db7-4120-b23f-e1c957d902aa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.502745} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.242654,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0c2de20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","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":"e0c2de20-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e0c2de20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133 200 8ms","method":"GET","requestID":"e0c2de20-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI","level":"info","message":"auth send jwt","requestID":"9054f41ea1d63e7c89bf01701d3753ff"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9054f41ea1d63e7c89bf01701d3753ff","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/638da145-ccad-416c-b492-0b8ff1617ec4","requestID":"9054f41ea1d63e7c89bf01701d3753ff"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.309099,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9054f41ea1d63e7c89bf01701d3753ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908810,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9054f41ea1d63e7c89bf01701d3753ff","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0ca7f40-097b-11f0-96bb-59c96fe0af16"} gateway-1 | {"time_local":"25/Mar/2025:13:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch","requestID":"4f580b1baea3fe26b98455da744bbd16"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 78ms","method":"POST","requestID":"4f580b1baea3fe26b98455da744bbd16","responseTime":78,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/638da145-ccad-416c-b492-0b8ff1617ec4","requestID":"9054f41ea1d63e7c89bf01701d3753ff"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/638da145-ccad-416c-b492-0b8ff1617ec4 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":"9054f41ea1d63e7c89bf01701d3753ff"} experiment-1 | {"level":"info","message":"GET /experiments/638da145-ccad-416c-b492-0b8ff1617ec4 200 36ms","method":"GET","requestID":"9054f41ea1d63e7c89bf01701d3753ff","responseTime":36,"status":200,"url":"/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e52def0-abda-4c2e-8bcd-45f9f2f6f2cf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.552595} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.473249,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0ca7f40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0ca7f40-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI","level":"info","message":"auth send jwt","requestID":"353f0ea64c5ee453be3ed50a766baa00"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"353f0ea64c5ee453be3ed50a766baa00","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/638da145-ccad-416c-b492-0b8ff1617ec4","requestID":"353f0ea64c5ee453be3ed50a766baa00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0ca7f40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/signaling 200 8ms","method":"POST","requestID":"e0ca7f40-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.866573,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0cc2cf0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"353f0ea64c5ee453be3ed50a766baa00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908810,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"353f0ea64c5ee453be3ed50a766baa00","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9eff290-e6e3-46d2-9192-53d5042c1b0a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.564297} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340158,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0cc2cf0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","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/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Attempting to finish experiment","requestID":"353f0ea64c5ee453be3ed50a766baa00"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0cc2cf0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e0cd6570-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0cc2cf0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} device-1 | {"level":"info","message":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling 200 35ms","method":"POST","requestID":"e0cc2cf0-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.791799,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0cd6570-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908810,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMH0.upX_G2WeAIVcjRC0j0e-83zsT7aAnzPMoxP6mK1hWqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"e0cd6570-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","device":"ae00f036-5544-4061-8855-de31f1891157","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133","device":"2653c6d5-a7f4-4f33-905d-8c5444dfbb02","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ed77543-8d36-4ec0-8a31-35dd8e0fa133","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a35efbb291b6d18dd227b5b9bdabcea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0a35efbb291b6d18dd227b5b9bdabcea","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1310f42b6960780e381d4befb3558269","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/ae00f036-5544-4061-8855-de31f1891157"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133"}}},"level":"info","message":"received a callback","requestID":"0a35efbb291b6d18dd227b5b9bdabcea"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1310f42b6960780e381d4befb3558269","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/ae00f036-5544-4061-8855-de31f1891157"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133"}}},"level":"info","message":"received a callback","requestID":"1310f42b6960780e381d4befb3558269"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ed77543-8d36-4ec0-8a31-35dd8e0fa133': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ed77543-8d36-4ec0-8a31-35dd8e0fa133","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"e6c888c8-09f1-49f2-b317-e3514add53c9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.6110075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eafdef6f-5873-4baf-a117-116a18aecba1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.6112926} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e0cd6570-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"2ed77543-8d36-4ec0-8a31-35dd8e0fa133","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e0cd6570-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133 204 89ms","method":"DELETE","requestID":"e0cd6570-097b-11f0-96bb-59c96fe0af16","responseTime":89,"status":204,"url":"/peerconnections/2ed77543-8d36-4ec0-8a31-35dd8e0fa133"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"},"level":"info","message":"Successfully finished experiment","requestID":"353f0ea64c5ee453be3ed50a766baa00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0e05130-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae00f036-5544-4061-8855-de31f1891157","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"161895b9-f2fc-4529-9a2f-0c62031e5c4d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.6950405} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.594579,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0e05130-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157","object_type":"device","rebac_allow":false,"scope_allow":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":"e0e05130-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0e05130-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ae00f036-5544-4061-8855-de31f1891157/signaling 200 8ms","method":"POST","requestID":"e0e05130-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/ae00f036-5544-4061-8855-de31f1891157/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0e1d7d0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F638da145-ccad-416c-b492-0b8ff1617ec4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F638da145-ccad-416c-b492-0b8ff1617ec4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"e915bfb8-be12-45dc-a47f-eeba85ce4c36","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.7046478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"234f0cc1-8a22-4c6c-be88-ec9838f570be","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.7048447} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2653c6d5-a7f4-4f33-905d-8c5444dfbb02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83c7518f-803d-483f-9e7e-3eafdbf3fc98","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908810.704909} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"353f0ea64c5ee453be3ed50a766baa00","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.472671,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e0e1d7d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0e1d7d0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0e1d7d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling 200 9ms","method":"POST","requestID":"e0e1d7d0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/638da145-ccad-416c-b492-0b8ff1617ec4","requestID":"353f0ea64c5ee453be3ed50a766baa00"} gateway-1 | {"time_local":"25/Mar/2025:13:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/638da145-ccad-416c-b492-0b8ff1617ec4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.476","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"353f0ea64c5ee453be3ed50a766baa00"} experiment-1 | {"level":"info","message":"DELETE /experiments/638da145-ccad-416c-b492-0b8ff1617ec4 204 475ms","method":"DELETE","requestID":"353f0ea64c5ee453be3ed50a766baa00","responseTime":475,"status":204,"url":"/experiments/638da145-ccad-416c-b492-0b8ff1617ec4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 423ms","method":"POST","requestID":"0a35efbb291b6d18dd227b5b9bdabcea","responseTime":423,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.426","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a35efbb291b6d18dd227b5b9bdabcea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 424ms","method":"POST","requestID":"1310f42b6960780e381d4befb3558269","responseTime":424,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.427","http_referrer":"","http_user_agent":"node-fetch","requestID":"1310f42b6960780e381d4befb3558269"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMX0.F5oH7flK0l3NjEIpQv5Ue7wiWdPHfOUQa7qQBm4Cb1A","level":"info","message":"auth send jwt","requestID":"6f71040c4a1ea440f6bf14d286b1cd77"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6f71040c4a1ea440f6bf14d286b1cd77"} gateway-1 | {"time_local":"25/Mar/2025:13:20:11 +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.180","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"67f8cf65a3de460c8d79e713f2c806dc"} gateway-1 | {"time_local":"25/Mar/2025:13:20:11 +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.217","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"73e74b7fe36f6c0611a4218a846239d7"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925015,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:11Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2653c6d5-a7f4-4f33-905d-8c5444dfbb02' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6f71040c4a1ea440f6bf14d286b1cd77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908811,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMX0.F5oH7flK0l3NjEIpQv5Ue7wiWdPHfOUQa7qQBm4Cb1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ae00f036-5544-4061-8855-de31f1891157' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7fc09a58-e35f-4ca0-b660-1fc775bc562a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.134099} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b17118e-537d-4235-94a7-e824d17e88c9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.1385376} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"ae183ad2-68e4-44eb-bbd0-1beb1389253d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.1479452} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"711c47f1-7585-4443-9f7b-3dcd3fe474d6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.1482637} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"0bb17a1f-e384-474a-be6a-eb8876785913","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.172424} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6f71040c4a1ea440f6bf14d286b1cd77"} gateway-1 | {"time_local":"25/Mar/2025:13:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f71040c4a1ea440f6bf14d286b1cd77"} device-1 | {"level":"info","message":"POST /devices? 201 137ms","method":"POST","requestID":"6f71040c4a1ea440f6bf14d286b1cd77","responseTime":137,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMX0.F5oH7flK0l3NjEIpQv5Ue7wiWdPHfOUQa7qQBm4Cb1A","level":"info","message":"auth send jwt","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752861,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908811,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMX0.F5oH7flK0l3NjEIpQv5Ue7wiWdPHfOUQa7qQBm4Cb1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9158bc0c-a0bc-4683-a091-be6408849925","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.1948647} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd48c92c-6dcc-40c7-8adf-e84142a87f78","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.219993} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1ad400e2-cf0c-42b5-b7cc-3e70db059294","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.2289991} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f30d92c8-eee5-44f5-9206-c27a27772988","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.2292764} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.228985981Z"}]},"request_id":"81b94e5f-f1f5-466d-8b3f-e38c8d679f69","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908811.2326014} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9b55d67b16c7a4e2cf6ddef8f093335"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMn0.xGtrFzQi2EarbaR5UzNXAo71TKVmkgWj3U4zhFHWXGM","level":"info","message":"auth send jwt","requestID":"82fcf924fa629f4d9aba315a4405c0d2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82fcf924fa629f4d9aba315a4405c0d2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"82fcf924fa629f4d9aba315a4405c0d2"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:12Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685078,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"82fcf924fa629f4d9aba315a4405c0d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908812,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMn0.xGtrFzQi2EarbaR5UzNXAo71TKVmkgWj3U4zhFHWXGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"82fcf924fa629f4d9aba315a4405c0d2","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"afbbb134-06a6-4651-8301-992b18a87150","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908812.1432488} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"82fcf924fa629f4d9aba315a4405c0d2","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad3c54a6-193d-423c-bc12-9bee0b684fd9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908812.1481469} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"82fcf924fa629f4d9aba315a4405c0d2","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"ff92e2a8-bba8-464e-b712-b359984fa042","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908812.1849756} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82fcf924fa629f4d9aba315a4405c0d2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"82fcf924fa629f4d9aba315a4405c0d2"} gateway-1 | {"time_local":"25/Mar/2025:13:20:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"82fcf924fa629f4d9aba315a4405c0d2"} device-1 | {"level":"info","message":"PATCH /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5 200 52ms","method":"PATCH","requestID":"82fcf924fa629f4d9aba315a4405c0d2","responseTime":52,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMn0.xGtrFzQi2EarbaR5UzNXAo71TKVmkgWj3U4zhFHWXGM","level":"info","message":"auth send jwt","requestID":"3925d9593eece1057e446e70321969da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3925d9593eece1057e446e70321969da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3925d9593eece1057e446e70321969da"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:12Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080332,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3925d9593eece1057e446e70321969da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908812,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxMn0.xGtrFzQi2EarbaR5UzNXAo71TKVmkgWj3U4zhFHWXGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3925d9593eece1057e446e70321969da","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3925d9593eece1057e446e70321969da"} gateway-1 | {"time_local":"25/Mar/2025:13:20:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"3925d9593eece1057e446e70321969da"} device-1 | {"level":"info","message":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/websocket 200 34ms","method":"POST","requestID":"3925d9593eece1057e446e70321969da","responseTime":34,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"00a984904491f9adbdfc0b2148742d48","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"00a984904491f9adbdfc0b2148742d48","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/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":"00a984904491f9adbdfc0b2148742d48"} device-1 | {"level":"info","message":"OPTIONS /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/websocket 200 1ms","method":"OPTIONS","requestID":"00a984904491f9adbdfc0b2148742d48","responseTime":1,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY","level":"info","message":"auth send jwt","requestID":"4c422813841157608052557bb64dcef0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c422813841157608052557bb64dcef0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4c422813841157608052557bb64dcef0"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245452,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4c422813841157608052557bb64dcef0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4c422813841157608052557bb64dcef0","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4c422813841157608052557bb64dcef0"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4c422813841157608052557bb64dcef0"} device-1 | {"level":"info","message":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/websocket 200 27ms","method":"POST","requestID":"4c422813841157608052557bb64dcef0","responseTime":27,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY","level":"info","message":"auth send jwt","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660589,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3fa8ab9858e4ce2eaa84fb95ac324908","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"266163ca-f95d-4258-beab-ed97d6b85226","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.5757794} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908"} device-1 | {"level":"info","message":"GET /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5? 200 16ms","method":"GET","requestID":"3fa8ab9858e4ce2eaa84fb95ac324908","responseTime":16,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY","level":"info","message":"auth send jwt","requestID":"b05bae345b543003b67a8b1bd5e9c113"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b05bae345b543003b67a8b1bd5e9c113","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b05bae345b543003b67a8b1bd5e9c113"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713377,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b05bae345b543003b67a8b1bd5e9c113","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b05bae345b543003b67a8b1bd5e9c113","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.228985981Z"}]},"request_id":"29152dd0-b458-4964-8afa-43a64d9a942a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.5936778} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b05bae345b543003b67a8b1bd5e9c113","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b05bae345b543003b67a8b1bd5e9c113"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163? 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":"b05bae345b543003b67a8b1bd5e9c113"} device-1 | {"level":"info","message":"GET /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163? 200 16ms","method":"GET","requestID":"b05bae345b543003b67a8b1bd5e9c113","responseTime":16,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY","level":"info","message":"auth send jwt","requestID":"4f66215a4deb4c682149e699665d4512"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f66215a4deb4c682149e699665d4512","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4f66215a4deb4c682149e699665d4512"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.607782,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4f66215a4deb4c682149e699665d4512","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4f66215a4deb4c682149e699665d4512","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to run experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to book experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully booked experiment","requestID":"4f66215a4deb4c682149e699665d4512"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2a69240-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2a6b950-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65987,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2a69240-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2a69240-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686155,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2a6b950-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e2a6b950-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"caf91aee-32b5-43ef-8eb5-4e84f3136596","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.6765223} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e2a69240-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.228985981Z"}]},"request_id":"b16c5ece-b08b-4466-8130-9afa39dcdeed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.6775787} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e2a6b950-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2a69240-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5? 200 14ms","method":"GET","requestID":"e2a69240-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2a6b950-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163? 200 14ms","method":"GET","requestID":"e2a6b950-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Setting up experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully set up experiment","requestID":"4f66215a4deb4c682149e699665d4512"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2b956f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2b9a510-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully running experiment","requestID":"4f66215a4deb4c682149e699665d4512"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2b9cc20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907435,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2b956f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e2b956f0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.600371,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2b9a510-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e2b9a510-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca53e9d9-f035-4e16-9003-b56c0cbed2c2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.800931} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.277479,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2b9cc20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e2b9cc20-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"c84d9897-ba8f-44e8-979c-e722b6494a7a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8030572} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e2b956f0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.228985981Z"}]},"request_id":"183578ab-5638-40b2-a908-b68526bd0dcb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8056397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e2b9a510-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2b9cc20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling 200 14ms","method":"POST","requestID":"e2b9cc20-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff28a2141-d5ad-4cd9-abf3-29505f5432ee#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff28a2141-d5ad-4cd9-abf3-29505f5432ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"8d6953bf-d5f0-40c6-bf48-014da44ab270","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.809801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91d844b4-87a2-4728-8f7a-6f550dde29e0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.810148} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"4f66215a4deb4c682149e699665d4512","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2bc6430-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2b956f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5? 200 22ms","method":"GET","requestID":"e2b956f0-097b-11f0-96bb-59c96fe0af16","responseTime":22,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2b9a510-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} device-1 | {"level":"info","message":"GET /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163? 200 21ms","method":"GET","requestID":"e2b9a510-097b-11f0-96bb-59c96fe0af16","responseTime":21,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"621d1354-cffd-4e33-986a-c77870f70376","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8155205} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725572,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2bd4e90-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2bc6430-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e2bc6430-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4f66215a4deb4c682149e699665d4512"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"level":"info","message":"POST /experiments? 201 213ms","method":"POST","requestID":"4f66215a4deb4c682149e699665d4512","responseTime":213,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2bc6430-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling 200 10ms","method":"POST","requestID":"e2bc6430-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2f400cd-ccc4-43d7-81f1-4ef99d5b8c51","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8214815} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.101083,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2bd4e90-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e2bd4e90-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY","level":"info","message":"auth send jwt","requestID":"8994c9e6585c9dfbbf8805d46f4993e0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8994c9e6585c9dfbbf8805d46f4993e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8994c9e6585c9dfbbf8805d46f4993e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2bd4e90-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling 200 10ms","method":"POST","requestID":"e2bd4e90-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685828,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8994c9e6585c9dfbbf8805d46f4993e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2bf2350-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8994c9e6585c9dfbbf8805d46f4993e0","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.147925620Z"}]},"request_id":"ac0c55e6-d15e-4849-9f29-aefd3a765444","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8328106} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47ac0639-deba-4303-b469-f29b07007481","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8329735} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8994c9e6585c9dfbbf8805d46f4993e0","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.117723,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2bf2350-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","rebac_allow":false,"scope_allow":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":"e2bf2350-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8994c9e6585c9dfbbf8805d46f4993e0"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5? 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":"8994c9e6585c9dfbbf8805d46f4993e0"} device-1 | {"level":"info","message":"GET /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5? 200 12ms","method":"GET","requestID":"8994c9e6585c9dfbbf8805d46f4993e0","responseTime":12,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2bf2350-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling 200 8ms","method":"POST","requestID":"e2bf2350-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Building connection plan","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"6e2f1002-50a0-4001-8b9c-f2462338660f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a4076cdf-30a4-4c2f-a854-7cd62031e7eb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bc16a64f-2427-48dc-8ab0-ba91046bee92"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4f66215a4deb4c682149e699665d4512"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4f66215a4deb4c682149e699665d4512"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY","level":"info","message":"auth send jwt","requestID":"6adcd0e4ec6597714e3ae46059e3c62c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6adcd0e4ec6597714e3ae46059e3c62c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6adcd0e4ec6597714e3ae46059e3c62c"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54172","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.680852,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661934,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6adcd0e4ec6597714e3ae46059e3c62c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908813,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxM30.d5hqAfF9ljkNOrf1x18dw0g-lEmTwil6j9-FZXpRPiY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6adcd0e4ec6597714e3ae46059e3c62c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:11.228985981Z"}]},"request_id":"83071f83-49fc-4aee-ad66-17e347f01d36","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.8479717} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6adcd0e4ec6597714e3ae46059e3c62c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6adcd0e4ec6597714e3ae46059e3c62c"} gateway-1 | {"time_local":"25/Mar/2025:13:20:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163? 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":"6adcd0e4ec6597714e3ae46059e3c62c"} device-1 | {"level":"info","message":"GET /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163? 200 10ms","method":"GET","requestID":"6adcd0e4ec6597714e3ae46059e3c62c","responseTime":10,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"abb65c4d-9e46-4ce7-95b3-3acaf3282985","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.851525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"982c87ff-8b53-48b3-9c15-2a82424ef175","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.851876} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d'","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d'","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e2c0d100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d","device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","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/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4f66215a4deb4c682149e699665d4512"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2cdf060-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c88c361b-2cdd-4952-8571-24809db098a3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.9300573} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404449,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2cdf060-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","rebac_allow":false,"scope_allow":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":"e2cdf060-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2cdf060-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling 200 32ms","method":"POST","requestID":"e2cdf060-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2d32080-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:13Z"} device-1 | {"device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6e6f978-442b-4b4d-b1e7-9e45b6b0b95f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908813.9650216} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.688487,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e2d32080-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e2d32080-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4360026672703722660 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:jLgo\r\na=ice-pwd:J+0vpWZqM3sqnH1ZS+XV3JWe\r\na=ice-options:trickle\r\na=fingerprint:sha-256 59:36:0F:B2:45:B6:D1:51:FC:88:72:97:42:78:5F:D5:1A:89:D1:E7:49:45:2D:7C:F7:C7:E8:9E:B5:0F:7A: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":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2d32080-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling 200 14ms","method":"POST","requestID":"e2d32080-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling"} device-1 | {"device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"952ec80c-2100-47ce-aa36-065c0a0a246d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/952ec80c-2100-47ce-aa36-065c0a0a246d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"952ec80c-2100-47ce-aa36-065c0a0a246d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"129dac2c21335877c125d193f0505a3a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"129dac2c21335877c125d193f0505a3a","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/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d"}}},"level":"info","message":"received a callback","requestID":"129dac2c21335877c125d193f0505a3a"} device-1 | {"content":{"candidate":"candidate:1605159940 1 udp 2113937151 0e86921a-4401-4407-b165-ab0339dba1f0.local 41005 typ host generation 0 ufrag jLgo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"129dac2c21335877c125d193f0505a3a","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"129dac2c21335877c125d193f0505a3a"} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"952ec80c-2100-47ce-aa36-065c0a0a246d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"952ec80c-2100-47ce-aa36-065c0a0a246d","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/952ec80c-2100-47ce-aa36-065c0a0a246d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"952ec80c-2100-47ce-aa36-065c0a0a246d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f75b808cbb4f1fa114ecbe0206a1a57","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1f75b808cbb4f1fa114ecbe0206a1a57","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/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d"}}},"level":"info","message":"received a callback","requestID":"1f75b808cbb4f1fa114ecbe0206a1a57"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e404e9c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:15Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F952ec80c-2100-47ce-aa36-065c0a0a246d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36e05d7d-f079-4210-a0d0-a60ab8a51e47","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908815.9690945} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.406336,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e404e9c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d","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":"e404e9c0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e404e9c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d 200 10ms","method":"GET","requestID":"e404e9c0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"1f75b808cbb4f1fa114ecbe0206a1a57","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f75b808cbb4f1fa114ecbe0206a1a57"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e408ba50-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e408ba50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling 200 29ms","method":"POST","requestID":"e408ba50-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f99ef8e-9add-49d9-8e09-cd357f1c7b87","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908815.9977026} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.181543,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e408ba50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","rebac_allow":false,"scope_allow":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":"e408ba50-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e40d9c50-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68c5557e-b57d-4e3d-a219-838a88f6797c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.02597} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.376686,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e40d9c50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e40d9c50-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e40d9c50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling 200 9ms","method":"POST","requestID":"e40d9c50-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM","level":"info","message":"auth send jwt","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.914126,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a043e2c97fcd0f1660cf064a5e2e47a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908816,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8"} experiment-1 | {"level":"info","message":"GET /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee 200 12ms","method":"GET","requestID":"a043e2c97fcd0f1660cf064a5e2e47a8","responseTime":12,"status":200,"url":"/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM","level":"info","message":"auth send jwt","requestID":"127911338931dd97834ca83b34b52d3a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"127911338931dd97834ca83b34b52d3a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","requestID":"127911338931dd97834ca83b34b52d3a"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.508186,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"127911338931dd97834ca83b34b52d3a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908816,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"127911338931dd97834ca83b34b52d3a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Attempting to finish experiment","requestID":"127911338931dd97834ca83b34b52d3a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e4247fb0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.856844,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e4247fb0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908816,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e4247fb0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d","device":"c648cc6f-9bf1-440b-b58c-2c74162a7163","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/952ec80c-2100-47ce-aa36-065c0a0a246d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"952ec80c-2100-47ce-aa36-065c0a0a246d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a77a5550b8ec80c77a1990b31dd8ff5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F952ec80c-2100-47ce-aa36-065c0a0a246d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F952ec80c-2100-47ce-aa36-065c0a0a246d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"54bb3e75-a5cb-43a4-a517-853581471eb9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.19264} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a77a5550b8ec80c77a1990b31dd8ff5","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"647c669c-a4e6-4fa2-8cac-41f61ddfe151","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.1930077} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"46b458f4cba02c24d70753fcbed8e736","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"46b458f4cba02c24d70753fcbed8e736","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"e4247fb0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d"}}},"level":"info","message":"received a callback","requestID":"46b458f4cba02c24d70753fcbed8e736"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e4247fb0-097b-11f0-96bb-59c96fe0af16"} 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/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d"}}},"level":"info","message":"received a callback","requestID":"9a77a5550b8ec80c77a1990b31dd8ff5"} device-1 | {"level":"info","message":"DELETE /peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d 204 26ms","method":"DELETE","requestID":"e4247fb0-097b-11f0-96bb-59c96fe0af16","responseTime":26,"status":204,"url":"/peerconnections/952ec80c-2100-47ce-aa36-065c0a0a246d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"},"level":"info","message":"Successfully finished experiment","requestID":"127911338931dd97834ca83b34b52d3a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e42c6ef0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81bc5e12-12d8-4481-9a1c-1d9e8ac7d73c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.2282283} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.971228,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e42c6ef0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e42c6ef0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e42c6ef0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling 200 35ms","method":"POST","requestID":"e42c6ef0-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff28a2141-d5ad-4cd9-abf3-29505f5432ee': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff28a2141-d5ad-4cd9-abf3-29505f5432ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"fd5c248f-32e4-47b8-ad44-453349ec1e1d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.2592585} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2155ba8e-3a79-4494-aae4-190af57e93aa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.2593637} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4321440-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"127911338931dd97834ca83b34b52d3a","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc648cc6f-9bf1-440b-b58c-2c74162a7163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9ac9e10-8659-436e-ba46-13bd213cdac4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.2643456} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.695322,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e4321440-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4321440-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4321440-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling 200 8ms","method":"POST","requestID":"e4321440-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee","requestID":"127911338931dd97834ca83b34b52d3a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"127911338931dd97834ca83b34b52d3a"} experiment-1 | {"level":"info","message":"DELETE /experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee 204 203ms","method":"DELETE","requestID":"127911338931dd97834ca83b34b52d3a","responseTime":203,"status":204,"url":"/experiments/f28a2141-d5ad-4cd9-abf3-29505f5432ee"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +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.134","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"afeb00b405d76cd3e3f76bfbe4cf81c6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 168ms","method":"POST","requestID":"46b458f4cba02c24d70753fcbed8e736","responseTime":168,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch","requestID":"46b458f4cba02c24d70753fcbed8e736"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM","level":"info","message":"auth send jwt","requestID":"22bcd0fbdd808fbf29a11f010f53608a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 169ms","method":"POST","requestID":"9a77a5550b8ec80c77a1990b31dd8ff5","responseTime":169,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a77a5550b8ec80c77a1990b31dd8ff5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22bcd0fbdd808fbf29a11f010f53608a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"22bcd0fbdd808fbf29a11f010f53608a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2157","request_time":"2.822","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4b483dd2d28156d1e5c699381f747f2a"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.810432,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"22bcd0fbdd808fbf29a11f010f53608a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908816,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"22bcd0fbdd808fbf29a11f010f53608a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9abfb9c6-fa41-4b40-9e35-7d45b3fa1af5' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4dbfd56b-320a-428b-83fe-fe64be5f0ad7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.409576} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"22bcd0fbdd808fbf29a11f010f53608a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c648cc6f-9bf1-440b-b58c-2c74162a7163' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05673063-56d1-4d0e-acf2-3e21c0830f45","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4143543} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"22bcd0fbdd808fbf29a11f010f53608a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"02b40841-b6bc-4bdb-9c19-0e70ab0d8014","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4231462} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bb9640a-3d6f-4e0b-98b1-680d8dd039db","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4232712} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"22bcd0fbdd808fbf29a11f010f53608a","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.423126223Z"}]},"request_id":"5509bf88-3ec9-4f7e-89b0-e1232eb7f31b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4279487} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"22bcd0fbdd808fbf29a11f010f53608a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"22bcd0fbdd808fbf29a11f010f53608a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22bcd0fbdd808fbf29a11f010f53608a"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"22bcd0fbdd808fbf29a11f010f53608a","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM","level":"info","message":"auth send jwt","requestID":"d9e2d66d89dababb62952876c8e6c28d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9e2d66d89dababb62952876c8e6c28d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d9e2d66d89dababb62952876c8e6c28d"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.664669,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d9e2d66d89dababb62952876c8e6c28d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908816,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxNn0.HQjrB6i6oPfHLoeaxixl-2jjZXUOwe2BsNJU7jaN1AM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d9e2d66d89dababb62952876c8e6c28d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"21d6ea3b-e671-45c8-9dcb-e8c4e5578a86","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4504318} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d9e2d66d89dababb62952876c8e6c28d","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fbac7c1-359e-4571-a65a-db6509c33011","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4541252} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d9e2d66d89dababb62952876c8e6c28d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b8bb96b8-a491-4d64-8f8d-f7268eba0180","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4656763} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1faf3a3-285e-4050-b338-2d607b0e02bd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.4658365} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d9e2d66d89dababb62952876c8e6c28d","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.465651289Z"}]},"request_id":"fca940bf-f7ab-4025-aaf2-80bf2e7e6497","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908816.469638} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d9e2d66d89dababb62952876c8e6c28d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d9e2d66d89dababb62952876c8e6c28d"} gateway-1 | {"time_local":"25/Mar/2025:13:20:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9e2d66d89dababb62952876c8e6c28d"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"d9e2d66d89dababb62952876c8e6c28d","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5e161b1c82144da8c8cfd8a3acbfe92e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e161b1c82144da8c8cfd8a3acbfe92e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/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":"5e161b1c82144da8c8cfd8a3acbfe92e"} device-1 | {"level":"info","message":"OPTIONS /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/websocket 200 1ms","method":"OPTIONS","requestID":"5e161b1c82144da8c8cfd8a3acbfe92e","responseTime":1,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cad06d4d9cf49004fc48df192262383","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cad06d4d9cf49004fc48df192262383","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/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":"2cad06d4d9cf49004fc48df192262383"} device-1 | {"level":"info","message":"OPTIONS /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/websocket 200 1ms","method":"OPTIONS","requestID":"2cad06d4d9cf49004fc48df192262383","responseTime":1,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g","level":"info","message":"auth send jwt","requestID":"2339061239dace18a97a0ca29117d26b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2339061239dace18a97a0ca29117d26b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2339061239dace18a97a0ca29117d26b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g","level":"info","message":"auth send jwt","requestID":"35e015dd81ca08c7b918a8dbafe1cde5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35e015dd81ca08c7b918a8dbafe1cde5","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274259,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"35e015dd81ca08c7b918a8dbafe1cde5"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2339061239dace18a97a0ca29117d26b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2339061239dace18a97a0ca29117d26b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.680145,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"35e015dd81ca08c7b918a8dbafe1cde5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35e015dd81ca08c7b918a8dbafe1cde5","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2339061239dace18a97a0ca29117d26b"} device-1 | {"level":"info","message":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/websocket 200 37ms","method":"POST","requestID":"2339061239dace18a97a0ca29117d26b","responseTime":37,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/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":"2339061239dace18a97a0ca29117d26b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"35e015dd81ca08c7b918a8dbafe1cde5"} device-1 | {"level":"info","message":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/websocket 200 45ms","method":"POST","requestID":"35e015dd81ca08c7b918a8dbafe1cde5","responseTime":45,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/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":"35e015dd81ca08c7b918a8dbafe1cde5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g","level":"info","message":"auth send jwt","requestID":"60dd3651e56e43e3e4bf35fe39d50aea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60dd3651e56e43e3e4bf35fe39d50aea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"60dd3651e56e43e3e4bf35fe39d50aea"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710009,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"60dd3651e56e43e3e4bf35fe39d50aea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"60dd3651e56e43e3e4bf35fe39d50aea","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.423126223Z"}]},"request_id":"b07f3d3f-dbea-4473-a13c-4728ae1349b7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908818.885964} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"60dd3651e56e43e3e4bf35fe39d50aea","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"60dd3651e56e43e3e4bf35fe39d50aea"} gateway-1 | {"time_local":"25/Mar/2025:13:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cd8096f8-98e8-47d4-8668-826582e8eadc? 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":"60dd3651e56e43e3e4bf35fe39d50aea"} device-1 | {"level":"info","message":"GET /devices/cd8096f8-98e8-47d4-8668-826582e8eadc? 200 15ms","method":"GET","requestID":"60dd3651e56e43e3e4bf35fe39d50aea","responseTime":15,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g","level":"info","message":"auth send jwt","requestID":"e3d55aace3cb327f5235a1ce7419ae82"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3d55aace3cb327f5235a1ce7419ae82","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3d55aace3cb327f5235a1ce7419ae82"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685667,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e3d55aace3cb327f5235a1ce7419ae82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e3d55aace3cb327f5235a1ce7419ae82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.465651289Z"}]},"request_id":"f2c2ee0a-b6a3-4ea1-9afa-43ad693975eb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908818.9017644} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e3d55aace3cb327f5235a1ce7419ae82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3d55aace3cb327f5235a1ce7419ae82"} device-1 | {"level":"info","message":"GET /devices/15782a3f-b178-4c98-9d03-aa98556aeab6? 200 11ms","method":"GET","requestID":"e3d55aace3cb327f5235a1ce7419ae82","responseTime":11,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15782a3f-b178-4c98-9d03-aa98556aeab6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3d55aace3cb327f5235a1ce7419ae82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g","level":"info","message":"auth send jwt","requestID":"e55fce58e352436a59780f1bbb0a22c6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e55fce58e352436a59780f1bbb0a22c6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e55fce58e352436a59780f1bbb0a22c6"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.52724,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e55fce58e352436a59780f1bbb0a22c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e55fce58e352436a59780f1bbb0a22c6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to run experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to book experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully booked experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5cf4980-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5d34120-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662169,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5cf4980-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5cf4980-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698552,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5d34120-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e5d34120-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.423126223Z"}]},"request_id":"37a42335-d85f-443a-8e16-fd6ade409e5f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.0000014} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5cf4980-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5cf4980-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.465651289Z"}]},"request_id":"3ab2885e-db4b-4df3-b7b7-253bd6ac4d6a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.004109} device-1 | {"level":"info","message":"GET /devices/cd8096f8-98e8-47d4-8668-826582e8eadc? 200 36ms","method":"GET","requestID":"e5cf4980-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5d34120-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5d34120-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/15782a3f-b178-4c98-9d03-aa98556aeab6? 200 13ms","method":"GET","requestID":"e5d34120-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Setting up experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully set up experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5de3da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5de64b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5e1c010-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully running experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764426,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.550048,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5de3da0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"e5de3da0-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5de64b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e5de64b0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.423126223Z"}]},"request_id":"e7b27f0e-05ea-4e69-8881-66193a396abd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.100329} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e5de3da0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.465651289Z"}]},"request_id":"cf554477-2d54-467a-8464-73cfc5cf89ba","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.1013324} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd4713b6-a776-4d52-9a63-f400dcb8b7d5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.101866} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5de64b0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.602588,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5e1c010-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","rebac_allow":false,"scope_allow":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":"e5e1c010-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5de64b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/15782a3f-b178-4c98-9d03-aa98556aeab6? 200 39ms","method":"GET","requestID":"e5de64b0-097b-11f0-96bb-59c96fe0af16","responseTime":39,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5de3da0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/cd8096f8-98e8-47d4-8668-826582e8eadc? 200 41ms","method":"GET","requestID":"e5de3da0-097b-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5e1c010-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling 200 19ms","method":"POST","requestID":"e5e1c010-097b-11f0-96bb-59c96fe0af16","responseTime":19,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1113a331-0eda-46a1-a84d-42eab1904945#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1113a331-0eda-46a1-a84d-42eab1904945","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"6b5e4a65-b31a-4d17-948c-80183c42472d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.1084576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72529e5a-9360-41d1-8620-5ad6b2d25148","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.108675} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5e4f460-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"e55fce58e352436a59780f1bbb0a22c6","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5e51b70-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a6e1f63-cf6d-457c-9f61-250aacf8fe7e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.1387315} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.930284,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5e4f460-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","rebac_allow":false,"scope_allow":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":"e5e4f460-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30b7257c-429c-4934-b671-1d2e66f3ba45","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.1402729} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.993612,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5e51b70-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e5e51b70-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e55fce58e352436a59780f1bbb0a22c6"} gateway-1 | {"time_local":"25/Mar/2025:13:20:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 233ms","method":"POST","requestID":"e55fce58e352436a59780f1bbb0a22c6","responseTime":233,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk","level":"info","message":"auth send jwt","requestID":"a191eae890f91b8b1317d7755c6e6c62"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a191eae890f91b8b1317d7755c6e6c62","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5e4f460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling 200 38ms","method":"POST","requestID":"e5e4f460-097b-11f0-96bb-59c96fe0af16","responseTime":38,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5e51b70-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling 200 40ms","method":"POST","requestID":"e5e51b70-097b-11f0-96bb-59c96fe0af16","responseTime":40,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a191eae890f91b8b1317d7755c6e6c62"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5eb8410-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989436,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a191eae890f91b8b1317d7755c6e6c62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908819,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a191eae890f91b8b1317d7755c6e6c62","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5742dcb7-cd01-46d8-9e69-a49652f5e3c3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.1580186} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.511677,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5eb8410-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e5eb8410-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.423126223Z"}]},"request_id":"b6106068-7680-46b6-a8d9-6d2bcd2f31f7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.1874871} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a191eae890f91b8b1317d7755c6e6c62","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5eb8410-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling 200 42ms","method":"POST","requestID":"e5eb8410-097b-11f0-96bb-59c96fe0af16","responseTime":42,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a191eae890f91b8b1317d7755c6e6c62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Building connection plan","requestID":"e55fce58e352436a59780f1bbb0a22c6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"c78ff8d4-207f-4588-bedc-d3d6efe9cc70"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"e090cc64-3f45-4ef9-a9a3-cf5530ce8e0d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"6fd04ca2-206d-4c99-bafa-4e53d5c8ac04"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e55fce58e352436a59780f1bbb0a22c6"} 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/15782a3f-b178-4c98-9d03-aa98556aeab6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e55fce58e352436a59780f1bbb0a22c6"} gateway-1 | {"time_local":"25/Mar/2025:13:20:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cd8096f8-98e8-47d4-8668-826582e8eadc? 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":"a191eae890f91b8b1317d7755c6e6c62"} device-1 | {"level":"info","message":"GET /devices/cd8096f8-98e8-47d4-8668-826582e8eadc? 200 46ms","method":"GET","requestID":"a191eae890f91b8b1317d7755c6e6c62","responseTime":46,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.686318,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk","level":"info","message":"auth send jwt","requestID":"6931d583eca2ef705888d18c275a1e21"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6931d583eca2ef705888d18c275a1e21","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908818,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOH0.FnKIgLr1uDxZJCaU1iqodtS3ZUCA3vKVBa2JGPqVa1g"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6931d583eca2ef705888d18c275a1e21"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742756,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6931d583eca2ef705888d18c275a1e21","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908819,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6931d583eca2ef705888d18c275a1e21","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:16.465651289Z"}]},"request_id":"d56d3c9d-668f-428f-9b0e-0d5b37a8d298","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.2350726} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6931d583eca2ef705888d18c275a1e21","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6931d583eca2ef705888d18c275a1e21"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"afd58797-8395-4e93-9887-98c3eb422837","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.2385597} gateway-1 | {"time_local":"25/Mar/2025:13:20:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15782a3f-b178-4c98-9d03-aa98556aeab6? 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":"6931d583eca2ef705888d18c275a1e21"} device-1 | {"level":"info","message":"GET /devices/15782a3f-b178-4c98-9d03-aa98556aeab6? 200 36ms","method":"GET","requestID":"6931d583eca2ef705888d18c275a1e21","responseTime":36,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28c7b498-f120-44bd-aee5-a3b27341abfd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.2388377} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f'","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f'","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} 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":"e5f261e0-097b-11f0-96bb-59c96fe0af16","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":"e5f261e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","device":"cd8096f8-98e8-47d4-8668-826582e8eadc","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/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e55fce58e352436a59780f1bbb0a22c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6068620-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4e791e8-39be-4c36-a4aa-38d7937cb846","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.3344345} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84992,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e6068620-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6068620-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6068620-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling 200 8ms","method":"POST","requestID":"e6068620-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e60833d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0423cf-75cf-49c7-a32b-424f41c3f0cc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.3457646} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.256226,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e60833d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e60833d0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e60833d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling 200 8ms","method":"POST","requestID":"e60833d0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling"} device-1 | {"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5915099198351147159 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:N6f4\r\na=ice-pwd:Qn7apOnLu6O7fXM4y4CIY/Xw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 68:F1:A7:D2:43:D3:E2:4D:11:C5:2A:44:3E:3D:22:33:CC:F2:43:BD:54:4C:F8:46:FE:10:EC:CE:70:A0:CB:8E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4722820869205367454 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:IGNI\r\na=ice-pwd:KZSSM11DUHxLK4iOsg5s6/Ws\r\na=ice-options:trickle\r\na=fingerprint:sha-256 16:67:36:32:D9:22:EA:68:9B:E2:68:30:7C:F7:57:E7:3A:E9:C7:A4:59:5C:CF:47:21:8D:25:1F:D4:31:D2:EF\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1568361791 1 udp 2113937151 3631b1f3-c34a-4003-81c6-05b77eedfd63.local 53576 typ host generation 0 ufrag IGNI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","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/15782a3f-b178-4c98-9d03-aa98556aeab6'"} device-1 | {"content":{"candidate":"candidate:97238152 1 udp 2113937151 8c883f69-9d93-411d-946d-556eed192fe8.local 51602 typ host generation 0 ufrag N6f4 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","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/c7984d48-d08b-4175-828f-31a597896b7f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7984d48-d08b-4175-828f-31a597896b7f","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c4b821a8e8c64ec74267469f13df465","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7c4b821a8e8c64ec74267469f13df465","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":"new","url":"http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f"}}},"level":"info","message":"received a callback","requestID":"7c4b821a8e8c64ec74267469f13df465"} device-1 | {"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"cd8096f8-98e8-47d4-8668-826582e8eadc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"7c4b821a8e8c64ec74267469f13df465","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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":"7c4b821a8e8c64ec74267469f13df465"} device-1 | {"device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"c7984d48-d08b-4175-828f-31a597896b7f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c7984d48-d08b-4175-828f-31a597896b7f","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/c7984d48-d08b-4175-828f-31a597896b7f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7984d48-d08b-4175-828f-31a597896b7f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"657142d9d06c2ab8877e630de9864ef1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"657142d9d06c2ab8877e630de9864ef1","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/15782a3f-b178-4c98-9d03-aa98556aeab6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f"}}},"level":"info","message":"received a callback","requestID":"657142d9d06c2ab8877e630de9864ef1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e62531b0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7984d48-d08b-4175-828f-31a597896b7f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6b46201-0cdc-4b21-931c-d00a60e7e432","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.536084} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.836941,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e62531b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","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":"e62531b0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e62531b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/c7984d48-d08b-4175-828f-31a597896b7f 200 9ms","method":"GET","requestID":"e62531b0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 60ms","method":"POST","requestID":"657142d9d06c2ab8877e630de9864ef1","responseTime":60,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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":"657142d9d06c2ab8877e630de9864ef1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e62d9620-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48e2ffad-d44d-440f-b61e-1c7d06a1bfce","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.5909116} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.632915,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e62d9620-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","rebac_allow":false,"scope_allow":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":"e62d9620-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e62d9620-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling 200 34ms","method":"POST","requestID":"e62d9620-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6331460-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23867e7a-2632-4416-bbda-7dd6dd5225c0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.6273649} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.928932,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e6331460-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6331460-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6331460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling 200 10ms","method":"POST","requestID":"e6331460-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk","level":"info","message":"auth send jwt","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1113a331-0eda-46a1-a84d-42eab1904945","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.681362,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6a03ec9a4aa808305ff1b1256d55d3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908819,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1113a331-0eda-46a1-a84d-42eab1904945","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1113a331-0eda-46a1-a84d-42eab1904945 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e"} experiment-1 | {"level":"info","message":"GET /experiments/1113a331-0eda-46a1-a84d-42eab1904945 200 12ms","method":"GET","requestID":"d6a03ec9a4aa808305ff1b1256d55d3e","responseTime":12,"status":200,"url":"/experiments/1113a331-0eda-46a1-a84d-42eab1904945"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk","level":"info","message":"auth send jwt","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1113a331-0eda-46a1-a84d-42eab1904945","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.244554,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b147c7201b1fdb7dd6d19d4809b20ca7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908819,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Attempting to finish experiment","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e658ebe0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.238344,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e658ebe0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908819,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgxOX0.dJjUZmCnG2dYqlKicRnUXSUC-pAuY7VWXJhEiKPDDSk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e658ebe0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","device":"15782a3f-b178-4c98-9d03-aa98556aeab6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f","device":"cd8096f8-98e8-47d4-8668-826582e8eadc","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/c7984d48-d08b-4175-828f-31a597896b7f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7984d48-d08b-4175-828f-31a597896b7f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7984d48-d08b-4175-828f-31a597896b7f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7984d48-d08b-4175-828f-31a597896b7f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"4752d828-fa1f-4460-a5f2-96d1f64c8c85","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.8855875} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9cf91899f1b15c3ea07c898d7807d403","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2bd599b-0c37-4464-b222-8d8b77931e96","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.885951} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9cf91899f1b15c3ea07c898d7807d403","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e658ebe0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa4dcd541b7e605940b456a9fe62c44f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f"}}},"level":"info","message":"received a callback","requestID":"9cf91899f1b15c3ea07c898d7807d403"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa4dcd541b7e605940b456a9fe62c44f","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":"closed","url":"http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f"}}},"level":"info","message":"received a callback","requestID":"fa4dcd541b7e605940b456a9fe62c44f"} device-1 | {"data":{"peerconnection":"c7984d48-d08b-4175-828f-31a597896b7f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e658ebe0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/c7984d48-d08b-4175-828f-31a597896b7f 204 39ms","method":"DELETE","requestID":"e658ebe0-097b-11f0-96bb-59c96fe0af16","responseTime":39,"status":204,"url":"/peerconnections/c7984d48-d08b-4175-828f-31a597896b7f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1113a331-0eda-46a1-a84d-42eab1904945"},"level":"info","message":"Successfully finished experiment","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6612940-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15782a3f-b178-4c98-9d03-aa98556aeab6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"457fac1b-4fa4-422d-8c77-f7cd63aebd83","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.9370174} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.443593,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e6612940-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6","object_type":"device","rebac_allow":false,"scope_allow":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":"e6612940-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1113a331-0eda-46a1-a84d-42eab1904945': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1113a331-0eda-46a1-a84d-42eab1904945","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"14ce22b6-7d98-4f6b-8499-e592e93cf12e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.9588227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0f9a2ad-8bed-435a-be4e-de27acaa9b89","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.9590077} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6612940-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling 200 38ms","method":"POST","requestID":"e6612940-097b-11f0-96bb-59c96fe0af16","responseTime":38,"status":200,"url":"/devices/15782a3f-b178-4c98-9d03-aa98556aeab6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e66743c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd8096f8-98e8-47d4-8668-826582e8eadc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f66bd097-b0f3-4ae6-ab1e-87a7704708b8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908819.9684584} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.373565,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e66743c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e66743c0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e66743c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling 200 8ms","method":"POST","requestID":"e66743c0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/cd8096f8-98e8-47d4-8668-826582e8eadc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1113a331-0eda-46a1-a84d-42eab1904945","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7"} gateway-1 | {"time_local":"25/Mar/2025:13:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1113a331-0eda-46a1-a84d-42eab1904945 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7"} experiment-1 | {"level":"info","message":"DELETE /experiments/1113a331-0eda-46a1-a84d-42eab1904945 204 205ms","method":"DELETE","requestID":"b147c7201b1fdb7dd6d19d4809b20ca7","responseTime":205,"status":204,"url":"/experiments/1113a331-0eda-46a1-a84d-42eab1904945"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 175ms","method":"POST","requestID":"9cf91899f1b15c3ea07c898d7807d403","responseTime":175,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.177","http_referrer":"","http_user_agent":"node-fetch","requestID":"9cf91899f1b15c3ea07c898d7807d403"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.178","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa4dcd541b7e605940b456a9fe62c44f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 173ms","method":"POST","requestID":"fa4dcd541b7e605940b456a9fe62c44f","responseTime":173,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMH0.eOxDP7COtMybtnCttYM0Tmezpuxkv9mFWom3VwBCQjY","level":"info","message":"auth send jwt","requestID":"71b7566a4702adc3d6a1f644460a3de7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71b7566a4702adc3d6a1f644460a3de7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"71b7566a4702adc3d6a1f644460a3de7"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.344923,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:20Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:20 +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.217","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6c006e209c7d43dd93a3d90d145e6275"} gateway-1 | {"time_local":"25/Mar/2025:13:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2321","request_time":"1.227","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3cdaee9ef8c17cab3c8cc07c251b37a7"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"71b7566a4702adc3d6a1f644460a3de7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908820,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMH0.eOxDP7COtMybtnCttYM0Tmezpuxkv9mFWom3VwBCQjY"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"71b7566a4702adc3d6a1f644460a3de7","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/15782a3f-b178-4c98-9d03-aa98556aeab6' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cd8096f8-98e8-47d4-8668-826582e8eadc' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6cbe9ec0-7819-49b7-a8e6-713622456fc0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.1097672} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71b7566a4702adc3d6a1f644460a3de7","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7d63aed-723c-477e-8cbc-64db601944b1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.113463} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"71b7566a4702adc3d6a1f644460a3de7","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"20781c04-9724-47b8-91ac-02b42aafdf31","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.1469328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d1c2457-d3ae-4b5e-860f-7a5b29924ec0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.1470473} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"71b7566a4702adc3d6a1f644460a3de7","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.146906155Z"}]},"request_id":"cdf9202c-8f7b-4c7c-a8cc-883332701f44","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.1510193} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71b7566a4702adc3d6a1f644460a3de7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"71b7566a4702adc3d6a1f644460a3de7"} gateway-1 | {"time_local":"25/Mar/2025:13:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71b7566a4702adc3d6a1f644460a3de7"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"71b7566a4702adc3d6a1f644460a3de7","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMH0.eOxDP7COtMybtnCttYM0Tmezpuxkv9mFWom3VwBCQjY","level":"info","message":"auth send jwt","requestID":"f9bde7dc1837272e3dc2fe72c86d7279"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f9bde7dc1837272e3dc2fe72c86d7279"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907914,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f9bde7dc1837272e3dc2fe72c86d7279","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908820,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMH0.eOxDP7COtMybtnCttYM0Tmezpuxkv9mFWom3VwBCQjY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a3d996fb-6b54-4de8-bd23-26e84caf75ae","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.172107} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","responseTime":23,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ca53adf-f55b-4937-80f0-6f866530aabc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.1957772} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"3b7a3c24-17b1-4565-bcbc-fd26cb702418","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.2086456} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e018c113-65c7-4844-9ade-74ec45bf317a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.208806} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"1aff8f4e-7394-443f-b66d-52fa6cc6ce80","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908820.2122624} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f9bde7dc1837272e3dc2fe72c86d7279"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9bde7dc1837272e3dc2fe72c86d7279"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"f9bde7dc1837272e3dc2fe72c86d7279","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMX0.5H5BeRe8gECZiyPAHkGrBgbmsZ7BsYJzNC_QTpaChe4","level":"info","message":"auth send jwt","requestID":"8165cb916798a6e19a0efa167c8fbb77"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"8165cb916798a6e19a0efa167c8fbb77","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8165cb916798a6e19a0efa167c8fbb77"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274474,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8165cb916798a6e19a0efa167c8fbb77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908821,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMX0.5H5BeRe8gECZiyPAHkGrBgbmsZ7BsYJzNC_QTpaChe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8165cb916798a6e19a0efa167c8fbb77","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"a77271f2-7ca0-4c30-a888-c2d0c4ac91f4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908821.2126024} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8165cb916798a6e19a0efa167c8fbb77","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca9a8d18-eda9-44f1-b2d5-7466c0959667","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908821.2166038} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"8165cb916798a6e19a0efa167c8fbb77","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"abf35e21-91d6-4408-9244-8cc9af2d53ca","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908821.2540562} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8165cb916798a6e19a0efa167c8fbb77","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8165cb916798a6e19a0efa167c8fbb77"} device-1 | {"level":"info","message":"PATCH /devices/c85d3ae7-4d64-4152-a890-2b594d888248 200 53ms","method":"PATCH","requestID":"8165cb916798a6e19a0efa167c8fbb77","responseTime":53,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248"} gateway-1 | {"time_local":"25/Mar/2025:13:20:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c85d3ae7-4d64-4152-a890-2b594d888248 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"8165cb916798a6e19a0efa167c8fbb77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMX0.5H5BeRe8gECZiyPAHkGrBgbmsZ7BsYJzNC_QTpaChe4","level":"info","message":"auth send jwt","requestID":"a754e335254d29982650b59cc74546a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a754e335254d29982650b59cc74546a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a754e335254d29982650b59cc74546a5"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656526,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a754e335254d29982650b59cc74546a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908821,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMX0.5H5BeRe8gECZiyPAHkGrBgbmsZ7BsYJzNC_QTpaChe4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a754e335254d29982650b59cc74546a5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a754e335254d29982650b59cc74546a5"} device-1 | {"level":"info","message":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/websocket 200 39ms","method":"POST","requestID":"a754e335254d29982650b59cc74546a5","responseTime":39,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/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.14","requestID":"a754e335254d29982650b59cc74546a5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"051d107c03d34905224f826dac8960e5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"051d107c03d34905224f826dac8960e5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/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":"051d107c03d34905224f826dac8960e5"} device-1 | {"level":"info","message":"OPTIONS /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/websocket 200 1ms","method":"OPTIONS","requestID":"051d107c03d34905224f826dac8960e5","responseTime":1,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ","level":"info","message":"auth send jwt","requestID":"acf42638663ac39f2f7e578bdc221b4c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"acf42638663ac39f2f7e578bdc221b4c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"acf42638663ac39f2f7e578bdc221b4c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181761,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"acf42638663ac39f2f7e578bdc221b4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"acf42638663ac39f2f7e578bdc221b4c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"acf42638663ac39f2f7e578bdc221b4c"} device-1 | {"level":"info","message":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/websocket 200 37ms","method":"POST","requestID":"acf42638663ac39f2f7e578bdc221b4c","responseTime":37,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"acf42638663ac39f2f7e578bdc221b4c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ","level":"info","message":"auth send jwt","requestID":"b49788b4195d1a4abe0bd0d207f265af"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b49788b4195d1a4abe0bd0d207f265af","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b49788b4195d1a4abe0bd0d207f265af"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.069617,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b49788b4195d1a4abe0bd0d207f265af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b49788b4195d1a4abe0bd0d207f265af","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.146906155Z"}]},"request_id":"5c3e75d6-deca-4195-8302-c0170828d7a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.66173} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b49788b4195d1a4abe0bd0d207f265af","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b49788b4195d1a4abe0bd0d207f265af"} device-1 | {"level":"info","message":"GET /devices/b556188e-f9e2-4dec-9e9b-e341475bd755? 200 15ms","method":"GET","requestID":"b49788b4195d1a4abe0bd0d207f265af","responseTime":15,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b556188e-f9e2-4dec-9e9b-e341475bd755? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b49788b4195d1a4abe0bd0d207f265af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ","level":"info","message":"auth send jwt","requestID":"2dfef7ce9b41bf4e89679619afd80b4c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2dfef7ce9b41bf4e89679619afd80b4c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2dfef7ce9b41bf4e89679619afd80b4c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637086,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2dfef7ce9b41bf4e89679619afd80b4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2dfef7ce9b41bf4e89679619afd80b4c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"59fc237c-422a-424d-9d8f-947f92f8a7ff","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.6785798} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2dfef7ce9b41bf4e89679619afd80b4c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2dfef7ce9b41bf4e89679619afd80b4c"} device-1 | {"level":"info","message":"GET /devices/c85d3ae7-4d64-4152-a890-2b594d888248? 200 10ms","method":"GET","requestID":"2dfef7ce9b41bf4e89679619afd80b4c","responseTime":10,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c85d3ae7-4d64-4152-a890-2b594d888248? 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":"2dfef7ce9b41bf4e89679619afd80b4c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ","level":"info","message":"auth send jwt","requestID":"09beeb4cbb78921b57116d8c2809c956"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"09beeb4cbb78921b57116d8c2809c956","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"09beeb4cbb78921b57116d8c2809c956"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.669145,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"09beeb4cbb78921b57116d8c2809c956","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09beeb4cbb78921b57116d8c2809c956","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to run experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to book experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully booked experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e80dc7d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e80e15f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948676,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e80dc7d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e80dc7d0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595289,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e80e15f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e80e15f0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.146906155Z"}]},"request_id":"7110da13-3905-4cf6-81cf-c6c9c67164b0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.741488} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e80dc7d0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e80dc7d0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"31abc05a-1c9f-42b6-a08d-ec321dfe52ed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.7456498} device-1 | {"level":"info","message":"GET /devices/b556188e-f9e2-4dec-9e9b-e341475bd755? 200 13ms","method":"GET","requestID":"e80dc7d0-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e80e15f0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e80e15f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/c85d3ae7-4d64-4152-a890-2b594d888248? 200 14ms","method":"GET","requestID":"e80e15f0-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Setting up experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully locked booking for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to update booking for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully updated booking for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully set up experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e81e4290-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e81e69a0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e81e90b0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully running experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:55574","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048624,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e81e4290-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e81e4290-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644815,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e81e69a0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e81e69a0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.866631,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a16a816c-fd77-4f38-ac76-b242ef67f758","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.849802} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e81e90b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e81e90b0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e81e90b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling 200 12ms","method":"POST","requestID":"e81e90b0-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"61eb49e0-6554-4b9a-be3d-917c846e3e4a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.854475} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e81e69a0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.146906155Z"}]},"request_id":"455f04ba-2d14-4429-995b-9f78e516e85b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.8557234} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"e81e4290-097b-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8248420-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ab28c72-51cb-437a-acd9-6e51c7d6a996#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ab28c72-51cb-437a-acd9-6e51c7d6a996","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1eba0351-60a7-4092-b055-27349ae8ee34","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.8832102} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b47ecc46-187d-4385-8e63-8b1a3b8ed304","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.8834069} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"09beeb4cbb78921b57116d8c2809c956","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e81e69a0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f0e6292-ffa1-4b48-8690-11335fac2321","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.8858857} device-1 | {"level":"info","message":"GET /devices/c85d3ae7-4d64-4152-a890-2b594d888248? 200 44ms","method":"GET","requestID":"e81e69a0-097b-11f0-96bb-59c96fe0af16","responseTime":44,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e81e4290-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b556188e-f9e2-4dec-9e9b-e341475bd755? 200 46ms","method":"GET","requestID":"e81e4290-097b-11f0-96bb-59c96fe0af16","responseTime":46,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755?"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.392471,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e8248420-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","rebac_allow":false,"scope_allow":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":"e8248420-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e825e3b0-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"09beeb4cbb78921b57116d8c2809c956"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"level":"info","message":"POST /experiments? 201 208ms","method":"POST","requestID":"09beeb4cbb78921b57116d8c2809c956","responseTime":208,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8248420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling 200 12ms","method":"POST","requestID":"e8248420-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca2d88f0-c10f-4d65-a50b-ed8788496630","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.8968434} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.96408,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ","level":"info","message":"auth send jwt","requestID":"99c3896ce328fbd7a499d026f1039b4d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"99c3896ce328fbd7a499d026f1039b4d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e825e3b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e825e3b0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99c3896ce328fbd7a499d026f1039b4d"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e825e3b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling 200 11ms","method":"POST","requestID":"e825e3b0-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7633,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"99c3896ce328fbd7a499d026f1039b4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"99c3896ce328fbd7a499d026f1039b4d","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e82c2540-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.146906155Z"}]},"request_id":"1f32a029-14e4-40aa-ae6c-57a5c8500c4f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.9333682} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"99c3896ce328fbd7a499d026f1039b4d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"448d2dda-a338-475c-b0f7-bc17d4744c6c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.9374344} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99c3896ce328fbd7a499d026f1039b4d"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.738619,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b556188e-f9e2-4dec-9e9b-e341475bd755? 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":"99c3896ce328fbd7a499d026f1039b4d"} device-1 | {"level":"info","message":"GET /devices/b556188e-f9e2-4dec-9e9b-e341475bd755? 200 37ms","method":"GET","requestID":"99c3896ce328fbd7a499d026f1039b4d","responseTime":37,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e82c2540-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e82c2540-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e82c2540-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling 200 10ms","method":"POST","requestID":"e82c2540-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ","level":"info","message":"auth send jwt","requestID":"91e74278eac2b61ada55fdcf3aea3567"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91e74278eac2b61ada55fdcf3aea3567","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91e74278eac2b61ada55fdcf3aea3567"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Building connection plan","requestID":"09beeb4cbb78921b57116d8c2809c956"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"c8fb44bb-ab30-4847-9373-a39f450c41db"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"412c3c69-2451-421b-bb23-3f604b9a7b4c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"8e92b1a6-0a0b-4e5a-99cb-e3233c9dd7f8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"09beeb4cbb78921b57116d8c2809c956"} 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/c85d3ae7-4d64-4152-a890-2b594d888248"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"09beeb4cbb78921b57116d8c2809c956"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41808","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918508,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"91e74278eac2b61ada55fdcf3aea3567","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91e74278eac2b61ada55fdcf3aea3567","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.549212,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908822,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyMn0.tLFj1Qtzu70ewvWEJbmq7ME-5uTE1efSfoOrlp2qLoQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:20.208622501Z"}]},"request_id":"a651d4a0-9654-46d4-982d-f96bbf96e956","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.9502995} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91e74278eac2b61ada55fdcf3aea3567","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91e74278eac2b61ada55fdcf3aea3567"} gateway-1 | {"time_local":"25/Mar/2025:13:20:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c85d3ae7-4d64-4152-a890-2b594d888248? 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":"91e74278eac2b61ada55fdcf3aea3567"} device-1 | {"level":"info","message":"GET /devices/c85d3ae7-4d64-4152-a890-2b594d888248? 200 35ms","method":"GET","requestID":"91e74278eac2b61ada55fdcf3aea3567","responseTime":35,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1f532f5b-0105-4a26-b445-91e84d67ca01","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.9796026} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11b40005-8a7e-40bc-9479-c1855d6cee57","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908822.9798744} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357'","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357'","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} 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":"e82dfa00-097b-11f0-96bb-59c96fe0af16","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":"e82dfa00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357","device":"b556188e-f9e2-4dec-9e9b-e341475bd755","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/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"09beeb4cbb78921b57116d8c2809c956"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e83d3c40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:23Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"364779b0-287f-407a-b19e-39723deeac30","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908823.048962} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.092785,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e83d3c40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e83d3c40-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 9130454200409342912 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:L7fa\r\na=ice-pwd:yk7w+krGgvI6JQ27zFaU0G5Z\r\na=ice-options:trickle\r\na=fingerprint:sha-256 6C:D2:8C:CF:CD:77:6C:1A:60:26:AF:4F:70:C8:B8:41:20:6E:71:17:3B:64:4B:23:2C:64:65:F6:92:2D:22:28\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e83d3c40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling 200 10ms","method":"POST","requestID":"e83d3c40-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e83f1100-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:23Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f369233-28b8-4381-b501-6dbb8dea8ecb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908823.0602872} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.189422,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e83f1100-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","rebac_allow":false,"scope_allow":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":"e83f1100-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e83f1100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling 200 8ms","method":"POST","requestID":"e83f1100-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling"} device-1 | {"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"69c2d641-ddd5-44d7-8c37-4cfa2a68e357","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/69c2d641-ddd5-44d7-8c37-4cfa2a68e357' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69c2d641-ddd5-44d7-8c37-4cfa2a68e357","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a446be8142dbead71ccac0019e4f593","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a446be8142dbead71ccac0019e4f593","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/c85d3ae7-4d64-4152-a890-2b594d888248"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357"}}},"level":"info","message":"received a callback","requestID":"9a446be8142dbead71ccac0019e4f593"} device-1 | {"content":{"candidate":"candidate:2954485723 1 udp 2113937151 d16bfdd1-b712-42d5-bf1e-932a9f7b3f44.local 57206 typ host generation 0 ufrag L7fa network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"9a446be8142dbead71ccac0019e4f593","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a446be8142dbead71ccac0019e4f593"} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"69c2d641-ddd5-44d7-8c37-4cfa2a68e357","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"69c2d641-ddd5-44d7-8c37-4cfa2a68e357","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/69c2d641-ddd5-44d7-8c37-4cfa2a68e357' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69c2d641-ddd5-44d7-8c37-4cfa2a68e357","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f8f4cb42c5579349aab2a221d144e041","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f8f4cb42c5579349aab2a221d144e041","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/c85d3ae7-4d64-4152-a890-2b594d888248"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357"}}},"level":"info","message":"received a callback","requestID":"f8f4cb42c5579349aab2a221d144e041"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e972fd20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69c2d641-ddd5-44d7-8c37-4cfa2a68e357","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6da12cbd-9d22-40b6-82da-fbbb5363bdc4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.0788753} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.937625,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e972fd20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357","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":"e972fd20-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e972fd20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357 200 9ms","method":"GET","requestID":"e972fd20-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"f8f4cb42c5579349aab2a221d144e041","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"f8f4cb42c5579349aab2a221d144e041"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e97769f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cf8e387-fedb-4f2e-82b8-ad5e05f7f62c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.109217} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.485652,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e97769f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e97769f0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e97769f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling 200 19ms","method":"POST","requestID":"e97769f0-097b-11f0-96bb-59c96fe0af16","responseTime":19,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e97ac550-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7e80fa6-7341-4ede-8e1d-b6330bbf8b20","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.1301382} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.986205,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e97ac550-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e97ac550-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e97ac550-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling 200 10ms","method":"POST","requestID":"e97ac550-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw","level":"info","message":"auth send jwt","requestID":"ec9dadbd39b8163320be155828f03039"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ec9dadbd39b8163320be155828f03039","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","requestID":"ec9dadbd39b8163320be155828f03039"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.2341,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ec9dadbd39b8163320be155828f03039","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908825,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ec9dadbd39b8163320be155828f03039","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","requestID":"ec9dadbd39b8163320be155828f03039"} gateway-1 | {"time_local":"25/Mar/2025:13:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec9dadbd39b8163320be155828f03039"} experiment-1 | {"level":"info","message":"GET /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996 200 14ms","method":"GET","requestID":"ec9dadbd39b8163320be155828f03039","responseTime":14,"status":200,"url":"/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw","level":"info","message":"auth send jwt","requestID":"7c6ddbd6f4a7295726b663e684dfb791"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c6ddbd6f4a7295726b663e684dfb791","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","requestID":"7c6ddbd6f4a7295726b663e684dfb791"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.313202,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7c6ddbd6f4a7295726b663e684dfb791","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908825,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7c6ddbd6f4a7295726b663e684dfb791","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Attempting to finish experiment","requestID":"7c6ddbd6f4a7295726b663e684dfb791"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e9af69e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.202949,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e9af69e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908825,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9af69e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357","device":"b556188e-f9e2-4dec-9e9b-e341475bd755","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c85d3ae7-4d64-4152-a890-2b594d888248","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/69c2d641-ddd5-44d7-8c37-4cfa2a68e357' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69c2d641-ddd5-44d7-8c37-4cfa2a68e357","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69c2d641-ddd5-44d7-8c37-4cfa2a68e357': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69c2d641-ddd5-44d7-8c37-4cfa2a68e357","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"73a1f5d0-a0a2-49b1-a411-67fc9e98d549","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.4878292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7910fa60-fe67-4010-b950-b5853cc09ed4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.4880104} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f2486c7a1f826d62f3867f60f89d42f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f2486c7a1f826d62f3867f60f89d42f0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"e9af69e0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"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":"closed","url":"http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357"}}},"level":"info","message":"received a callback","requestID":"f2486c7a1f826d62f3867f60f89d42f0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa4689d2e02fb004352becdbd4f290b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa4689d2e02fb004352becdbd4f290b3","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":"closed","url":"http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357"}}},"level":"info","message":"received a callback","requestID":"fa4689d2e02fb004352becdbd4f290b3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e9af69e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357 204 56ms","method":"DELETE","requestID":"e9af69e0-097b-11f0-96bb-59c96fe0af16","responseTime":56,"status":204,"url":"/peerconnections/69c2d641-ddd5-44d7-8c37-4cfa2a68e357"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"},"level":"info","message":"Successfully finished experiment","requestID":"7c6ddbd6f4a7295726b663e684dfb791"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9bb50c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc85d3ae7-4d64-4152-a890-2b594d888248","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a00c1bf6-edde-400e-b636-7559135ca4b0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.5728343} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.721975,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e9bb50c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9bb50c0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9bb50c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling 200 29ms","method":"POST","requestID":"e9bb50c0-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/devices/c85d3ae7-4d64-4152-a890-2b594d888248/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9c00bb0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ab28c72-51cb-437a-acd9-6e51c7d6a996': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ab28c72-51cb-437a-acd9-6e51c7d6a996","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"2dc2b7e7-10d0-4ea8-a3e3-c1821a0199e3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.5812256} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14defeb2-eee9-4ff7-8866-0f6aa8c80302","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.5814567} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"7c6ddbd6f4a7295726b663e684dfb791","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb556188e-f9e2-4dec-9e9b-e341475bd755","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cae8a89-7ee5-4712-9eaf-78daba307436","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.5837655} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.41144,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e9c00bb0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755","object_type":"device","rebac_allow":false,"scope_allow":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":"e9c00bb0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9c00bb0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling 200 9ms","method":"POST","requestID":"e9c00bb0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/b556188e-f9e2-4dec-9e9b-e341475bd755/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996","requestID":"7c6ddbd6f4a7295726b663e684dfb791"} gateway-1 | {"time_local":"25/Mar/2025:13:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c6ddbd6f4a7295726b663e684dfb791"} experiment-1 | {"level":"info","message":"DELETE /experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996 204 222ms","method":"DELETE","requestID":"7c6ddbd6f4a7295726b663e684dfb791","responseTime":222,"status":204,"url":"/experiments/6ab28c72-51cb-437a-acd9-6e51c7d6a996"} gateway-1 | {"time_local":"25/Mar/2025:13:20:25 +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.380","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"38a3eaa14ebfcbab9962a4b510caeeb8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"f2486c7a1f826d62f3867f60f89d42f0","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.197","http_referrer":"","http_user_agent":"node-fetch","requestID":"f2486c7a1f826d62f3867f60f89d42f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"fa4689d2e02fb004352becdbd4f290b3","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa4689d2e02fb004352becdbd4f290b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw","level":"info","message":"auth send jwt","requestID":"dace2620ceba9870e667b3c40eacf117"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dace2620ceba9870e667b3c40eacf117","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dace2620ceba9870e667b3c40eacf117"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.595975,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2141","request_time":"3.071","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"641eac2685d11e1ee0a9d2ddbfb59c61"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"dace2620ceba9870e667b3c40eacf117","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908825,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dace2620ceba9870e667b3c40eacf117","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c85d3ae7-4d64-4152-a890-2b594d888248' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"61bd8deb-7804-403b-ac1d-793a3e4d3b9f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.725871} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dace2620ceba9870e667b3c40eacf117","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b556188e-f9e2-4dec-9e9b-e341475bd755' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cade8b44-af67-4bf5-9c17-02d12e9200d3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7318215} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"dace2620ceba9870e667b3c40eacf117","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"e24e773f-8b3b-4650-a374-e828d186f34b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7418075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aad951c1-9bdd-467b-8284-be0d500cccfe","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7419531} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"dace2620ceba9870e667b3c40eacf117","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"8172d020-1873-472e-8da9-339aa86dadc5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7462623} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dace2620ceba9870e667b3c40eacf117","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dace2620ceba9870e667b3c40eacf117"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dace2620ceba9870e667b3c40eacf117"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"dace2620ceba9870e667b3c40eacf117","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw","level":"info","message":"auth send jwt","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.916588,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908825,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNX0.89r2BB0_QtCi9L1MACgSw0avuQRlcBybgPy-LlkRKtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68ef6bec-c8c4-4b36-9d91-d7bb8b199f22","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.77909} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a0f2c88-a489-4bb3-a394-b05b9c9e7aa6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7835855} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b30ebba7-15ae-4810-a0ef-bfd33f3d87a6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7930057} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ade2317-9efb-4eb4-9912-632ae70224a3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.7932253} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.792984783Z"}]},"request_id":"62ed7e02-3a35-4801-a036-0fda973ea7ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908825.796694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3"} gateway-1 | {"time_local":"25/Mar/2025:13:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"8b457e2d3a009a7256a6abfc5e4d14e3","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNn0.rQ_eRW46q7eb-81rykPxsOm-bMgEMJtlaa6e3BhncXo","level":"info","message":"auth send jwt","requestID":"2e3e285eed428b120f6924f038aada7c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2e3e285eed428b120f6924f038aada7c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2e3e285eed428b120f6924f038aada7c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62442,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2e3e285eed428b120f6924f038aada7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908826,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNn0.rQ_eRW46q7eb-81rykPxsOm-bMgEMJtlaa6e3BhncXo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e3e285eed428b120f6924f038aada7c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"f40a91dd-2cec-4f15-b0a0-f511c431e370","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908826.6479402} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"2e3e285eed428b120f6924f038aada7c","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4502357-63be-42c0-9305-b8f5a6eca057","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908826.6760702} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2e3e285eed428b120f6924f038aada7c","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"a0c0b157-7e9a-4e18-84b1-c5890eb2ac33","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908826.6868567} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e3e285eed428b120f6924f038aada7c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2e3e285eed428b120f6924f038aada7c"} gateway-1 | {"time_local":"25/Mar/2025:13:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"2e3e285eed428b120f6924f038aada7c"} device-1 | {"level":"info","message":"PATCH /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d 200 49ms","method":"PATCH","requestID":"2e3e285eed428b120f6924f038aada7c","responseTime":49,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNn0.rQ_eRW46q7eb-81rykPxsOm-bMgEMJtlaa6e3BhncXo","level":"info","message":"auth send jwt","requestID":"456c8c7fa895c6157cb28b37ed9631dc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"456c8c7fa895c6157cb28b37ed9631dc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"456c8c7fa895c6157cb28b37ed9631dc"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715721,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"456c8c7fa895c6157cb28b37ed9631dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908826,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyNn0.rQ_eRW46q7eb-81rykPxsOm-bMgEMJtlaa6e3BhncXo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"456c8c7fa895c6157cb28b37ed9631dc","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"456c8c7fa895c6157cb28b37ed9631dc"} gateway-1 | {"time_local":"25/Mar/2025:13:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"456c8c7fa895c6157cb28b37ed9631dc"} device-1 | {"level":"info","message":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/websocket 200 35ms","method":"POST","requestID":"456c8c7fa895c6157cb28b37ed9631dc","responseTime":35,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c406a128423671d880450b3c092201e6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c406a128423671d880450b3c092201e6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/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":"c406a128423671d880450b3c092201e6"} device-1 | {"level":"info","message":"OPTIONS /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/websocket 200 1ms","method":"OPTIONS","requestID":"c406a128423671d880450b3c092201e6","responseTime":1,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8","level":"info","message":"auth send jwt","requestID":"b70ce3f9cc013c88ba9307031247ee5b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b70ce3f9cc013c88ba9307031247ee5b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b70ce3f9cc013c88ba9307031247ee5b"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.568309,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b70ce3f9cc013c88ba9307031247ee5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b70ce3f9cc013c88ba9307031247ee5b","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b70ce3f9cc013c88ba9307031247ee5b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/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":"b70ce3f9cc013c88ba9307031247ee5b"} device-1 | {"level":"info","message":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/websocket 200 42ms","method":"POST","requestID":"b70ce3f9cc013c88ba9307031247ee5b","responseTime":42,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8","level":"info","message":"auth send jwt","requestID":"88e2af932bee2ad5c1a4ca97c17071ca"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88e2af932bee2ad5c1a4ca97c17071ca","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88e2af932bee2ad5c1a4ca97c17071ca"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65734,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"88e2af932bee2ad5c1a4ca97c17071ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88e2af932bee2ad5c1a4ca97c17071ca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"5755d60b-14d0-4b0c-a053-27923777e7a8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.1896682} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"88e2af932bee2ad5c1a4ca97c17071ca","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88e2af932bee2ad5c1a4ca97c17071ca"} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88e2af932bee2ad5c1a4ca97c17071ca"} device-1 | {"level":"info","message":"GET /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d? 200 11ms","method":"GET","requestID":"88e2af932bee2ad5c1a4ca97c17071ca","responseTime":11,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8","level":"info","message":"auth send jwt","requestID":"f6a95e2364657f621bf45daaff66b65e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f6a95e2364657f621bf45daaff66b65e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6a95e2364657f621bf45daaff66b65e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66975,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f6a95e2364657f621bf45daaff66b65e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f6a95e2364657f621bf45daaff66b65e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.792984783Z"}]},"request_id":"da220ec7-59fd-4352-aaf4-9117287f0a52","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.2049437} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f6a95e2364657f621bf45daaff66b65e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6a95e2364657f621bf45daaff66b65e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a? 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":"f6a95e2364657f621bf45daaff66b65e"} device-1 | {"level":"info","message":"GET /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a? 200 11ms","method":"GET","requestID":"f6a95e2364657f621bf45daaff66b65e","responseTime":11,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8","level":"info","message":"auth send jwt","requestID":"0494bf16afc9972b8b52128a9a38165d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0494bf16afc9972b8b52128a9a38165d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0494bf16afc9972b8b52128a9a38165d"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.611535,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0494bf16afc9972b8b52128a9a38165d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0494bf16afc9972b8b52128a9a38165d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to run experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to book experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully booked experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb5c0870-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594538,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb5c0870-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb600010-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"eb5c0870-097b-11f0-96bb-59c96fe0af16","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915692,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb600010-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eb600010-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"3ad51658-eb8e-4618-ba59-5ebf614ac878","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.3102863} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb5c0870-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.792984783Z"}]},"request_id":"79246726-ce3b-4474-8b3b-ce187625cb94","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.313783} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb600010-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb5c0870-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d? 200 36ms","method":"GET","requestID":"eb5c0870-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb600010-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a? 200 13ms","method":"GET","requestID":"eb600010-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Setting up experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully set up experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb6ea610-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb6ecd20-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully running experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb6f1b40-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744162,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb6ea610-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eb6ea610-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86f538e4-5ba9-487a-838a-835753c57356","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4110506} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"61945a66-6a45-4b4b-a8b9-911c68eaf74c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4113822} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.497261,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb6ea610-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb6f1b40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb6f1b40-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858234,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb6ecd20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"eb6ecd20-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb6ea610-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.792984783Z"}]},"request_id":"b5f88f53-9391-468a-ab51-faed8220fc63","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4172792} device-1 | {"level":"info","message":"GET /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d? 200 16ms","method":"GET","requestID":"eb6ea610-097b-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb6f1b40-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb6ecd20-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling 200 14ms","method":"POST","requestID":"eb6f1b40-097b-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"6d1cb3a8-1449-4126-9d0e-82ef6e65eeeb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4210558} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb71b350-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ee9105a-1120-4181-89e1-0e42af77a6c2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4214962} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb6ecd20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a? 200 22ms","method":"GET","requestID":"eb6ecd20-097b-11f0-96bb-59c96fe0af16","responseTime":22,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"0494bf16afc9972b8b52128a9a38165d","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"138366ca-fb14-4b86-8382-2d2d9a21139c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4498508} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.673835,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb764730-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb71b350-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","rebac_allow":false,"scope_allow":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":"eb71b350-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0494bf16afc9972b8b52128a9a38165d"} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 244ms","method":"POST","requestID":"0494bf16afc9972b8b52128a9a38165d","responseTime":244,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"844e15b1-45f5-4c81-bae7-50e8e41c56ca","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4560194} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.71985,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb71b350-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling 200 36ms","method":"POST","requestID":"eb71b350-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb764730-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb764730-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8","level":"info","message":"auth send jwt","requestID":"f37e58e98d227c00a0af96b71362c3de"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f37e58e98d227c00a0af96b71362c3de","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb764730-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling 200 10ms","method":"POST","requestID":"eb764730-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f37e58e98d227c00a0af96b71362c3de"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb77f4e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63012,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f37e58e98d227c00a0af96b71362c3de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f37e58e98d227c00a0af96b71362c3de","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4b30177-79ca-4f8e-b0ef-3ecce32c901d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.4660504} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.275552,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb77f4e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","rebac_allow":false,"scope_allow":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":"eb77f4e0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.741786870Z"}]},"request_id":"49941a9e-d827-466c-912f-240aa120d740","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.469463} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb77f4e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling 200 8ms","method":"POST","requestID":"eb77f4e0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f37e58e98d227c00a0af96b71362c3de","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Building connection plan","requestID":"0494bf16afc9972b8b52128a9a38165d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"5680f7b2-5727-44d6-9682-a11c407e4719"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"51af08a1-2b1b-48dc-bbc8-0bc2434d13ba"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"e83fcb81-53c1-43dd-84b1-77d9cbfaa782"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0494bf16afc9972b8b52128a9a38165d"} 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/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0494bf16afc9972b8b52128a9a38165d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f37e58e98d227c00a0af96b71362c3de"} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d? 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":"f37e58e98d227c00a0af96b71362c3de"} device-1 | {"level":"info","message":"GET /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d? 200 38ms","method":"GET","requestID":"f37e58e98d227c00a0af96b71362c3de","responseTime":38,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d?"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.90787,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8","level":"info","message":"auth send jwt","requestID":"89e3bc23a046a7fce8544bb4a2557103"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89e3bc23a046a7fce8544bb4a2557103","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89e3bc23a046a7fce8544bb4a2557103"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909378,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"89e3bc23a046a7fce8544bb4a2557103","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908828,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgyOH0.XgM5fbWuYkXUFSXgfb3bWUEMD6FwK3vo4w6HDtMysz8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"89e3bc23a046a7fce8544bb4a2557103","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:25.792984783Z"}]},"request_id":"d535dc5f-65a3-42d8-abba-acb475ae5549","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.5142307} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89e3bc23a046a7fce8544bb4a2557103","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89e3bc23a046a7fce8544bb4a2557103"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"e1ff0f02-a9d3-4a65-bdd1-6a6a7052bc03","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.518845} gateway-1 | {"time_local":"25/Mar/2025:13:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a? 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":"89e3bc23a046a7fce8544bb4a2557103"} device-1 | {"level":"info","message":"GET /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a? 200 14ms","method":"GET","requestID":"89e3bc23a046a7fce8544bb4a2557103","responseTime":14,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4eb3e1c-c8ad-4987-8c7c-9154a8877dff","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.5190961} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8'","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8'","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 98ms","method":"POST","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16","responseTime":98,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"eb7d4c10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8","device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","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/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0494bf16afc9972b8b52128a9a38165d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb936c20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7640f85a-3231-401f-a1e6-56191fbd6eef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.646503} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.543371,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb936c20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb936c20-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb936c20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling 200 10ms","method":"POST","requestID":"eb936c20-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb9540e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c588a53a-a57b-4a45-9f9c-431dfa334e2e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908828.6579986} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205482,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb9540e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","rebac_allow":false,"scope_allow":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":"eb9540e0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb9540e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling 200 7ms","method":"POST","requestID":"eb9540e0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling"} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"84afd34d-97d9-463c-912c-039c2d0cb1b8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2213349027300122277 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:1wX2\r\na=ice-pwd:x1fKrtg4vXjzkGbEu2fd+iJu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F5:65:D5:C6:C0:2E:BA:B8:14:B3:9A:95:C2:66:FD:0B:BC:B5:F7:91:C9:24:78:8E:5B:92:F6:6F:6B:86:54:16\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3679459979 1 udp 2113937151 27d63331-e7ad-4d6e-97d4-eeeb52e9f661.local 47407 typ host generation 0 ufrag 1wX2 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","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/84afd34d-97d9-463c-912c-039c2d0cb1b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"84afd34d-97d9-463c-912c-039c2d0cb1b8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.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":"492158cd0880af93a85ae72e1fd525f5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"492158cd0880af93a85ae72e1fd525f5","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/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8"}}},"level":"info","message":"received a callback","requestID":"492158cd0880af93a85ae72e1fd525f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"492158cd0880af93a85ae72e1fd525f5","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"492158cd0880af93a85ae72e1fd525f5"} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"84afd34d-97d9-463c-912c-039c2d0cb1b8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"84afd34d-97d9-463c-912c-039c2d0cb1b8","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/84afd34d-97d9-463c-912c-039c2d0cb1b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"84afd34d-97d9-463c-912c-039c2d0cb1b8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6fbcc35d4157f6b0ddca5b465a6a87bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6fbcc35d4157f6b0ddca5b465a6a87bf","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/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8"}}},"level":"info","message":"received a callback","requestID":"6fbcc35d4157f6b0ddca5b465a6a87bf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ecceab40-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F84afd34d-97d9-463c-912c-039c2d0cb1b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df9bd93a-28de-4633-8b40-9b3b8299026e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908830.7132869} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.70394,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ecceab40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8","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":"ecceab40-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ecceab40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8 200 9ms","method":"GET","requestID":"ecceab40-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"6fbcc35d4157f6b0ddca5b465a6a87bf","responseTime":58,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"6fbcc35d4157f6b0ddca5b465a6a87bf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ecd6c190-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70a414c8-9119-4304-8bb1-5f651597f2a9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908830.7656205} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504308,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ecd6c190-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ecd6c190-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ecd6c190-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling 200 9ms","method":"POST","requestID":"ecd6c190-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ecd86f40-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"040a8dc7-a94f-493d-a369-e8c8c9868854","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908830.8013325} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.896363,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ecd86f40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","rebac_allow":false,"scope_allow":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":"ecd86f40-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ecd86f40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling 200 34ms","method":"POST","requestID":"ecd86f40-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMH0.Kl0sUNZ2QeyxFzHB604VLYSQZEQbrbl_uAeSxbB0tJc","level":"info","message":"auth send jwt","requestID":"7fb3dda0161f14ad0aa8a910e743001a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7fb3dda0161f14ad0aa8a910e743001a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","requestID":"7fb3dda0161f14ad0aa8a910e743001a"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.398134,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7fb3dda0161f14ad0aa8a910e743001a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908830,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMH0.Kl0sUNZ2QeyxFzHB604VLYSQZEQbrbl_uAeSxbB0tJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7fb3dda0161f14ad0aa8a910e743001a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","requestID":"7fb3dda0161f14ad0aa8a910e743001a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7fb3dda0161f14ad0aa8a910e743001a"} experiment-1 | {"level":"info","message":"GET /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166 200 15ms","method":"GET","requestID":"7fb3dda0161f14ad0aa8a910e743001a","responseTime":15,"status":200,"url":"/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMH0.Kl0sUNZ2QeyxFzHB604VLYSQZEQbrbl_uAeSxbB0tJc","level":"info","message":"auth send jwt","requestID":"4846175e944ebc45d916fb3c5c907514"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4846175e944ebc45d916fb3c5c907514","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","requestID":"4846175e944ebc45d916fb3c5c907514"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.753114,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4846175e944ebc45d916fb3c5c907514","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908830,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMH0.Kl0sUNZ2QeyxFzHB604VLYSQZEQbrbl_uAeSxbB0tJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4846175e944ebc45d916fb3c5c907514","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Attempting to finish experiment","requestID":"4846175e944ebc45d916fb3c5c907514"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ecfbd5c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.671069,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ecfbd5c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908830,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMH0.Kl0sUNZ2QeyxFzHB604VLYSQZEQbrbl_uAeSxbB0tJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ecfbd5c0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8","device":"9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"399c9cf1-8b5b-4197-95aa-24bd2e73617d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/84afd34d-97d9-463c-912c-039c2d0cb1b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"84afd34d-97d9-463c-912c-039c2d0cb1b8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f3de868c79d124575d9a6c33778a4eee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F84afd34d-97d9-463c-912c-039c2d0cb1b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F84afd34d-97d9-463c-912c-039c2d0cb1b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"82283641-3387-4de3-8d4b-a8be90d94db0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.0219264} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f3de868c79d124575d9a6c33778a4eee","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"658b60cd-bf89-4ff5-b740-ac4def6e0bf7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.0222638} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ffe3d0c0cb7f91f869d90f236b80a84d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8"}}},"level":"info","message":"received a callback","requestID":"f3de868c79d124575d9a6c33778a4eee"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"ecfbd5c0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ffe3d0c0cb7f91f869d90f236b80a84d","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/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8"}}},"level":"info","message":"received a callback","requestID":"ffe3d0c0cb7f91f869d90f236b80a84d"} device-1 | {"data":{"peerconnection":"84afd34d-97d9-463c-912c-039c2d0cb1b8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ecfbd5c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8 204 41ms","method":"DELETE","requestID":"ecfbd5c0-097b-11f0-96bb-59c96fe0af16","responseTime":41,"status":204,"url":"/peerconnections/84afd34d-97d9-463c-912c-039c2d0cb1b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"},"level":"info","message":"Successfully finished experiment","requestID":"4846175e944ebc45d916fb3c5c907514"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed043a30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dea12ce9-b074-4873-a2ce-284ad13fc29d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.06379} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755344,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ed043a30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a","object_type":"device","rebac_allow":false,"scope_allow":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":"ed043a30-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"78082ff2-cb24-4397-9feb-624595ea0ef2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.0717509} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"432700d0-bc14-4ab5-8094-7f478743671b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.0722506} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"4846175e944ebc45d916fb3c5c907514","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed043a30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling 200 35ms","method":"POST","requestID":"ed043a30-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed09df80-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F399c9cf1-8b5b-4197-95aa-24bd2e73617d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06b9edf5-566e-4ba8-a493-74f1c84799a3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.1016004} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.405402,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ed09df80-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed09df80-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed09df80-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling 200 10ms","method":"POST","requestID":"ed09df80-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166","requestID":"4846175e944ebc45d916fb3c5c907514"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4846175e944ebc45d916fb3c5c907514"} experiment-1 | {"level":"info","message":"DELETE /experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166 204 154ms","method":"DELETE","requestID":"4846175e944ebc45d916fb3c5c907514","responseTime":154,"status":204,"url":"/experiments/7f3f6f3c-0ae3-4545-94a3-70a0ba0b6166"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +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.420","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ebbb8fa4f04222190848b2752e57a427"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"f3de868c79d124575d9a6c33778a4eee","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"f3de868c79d124575d9a6c33778a4eee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"ffe3d0c0cb7f91f869d90f236b80a84d","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"ffe3d0c0cb7f91f869d90f236b80a84d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMX0.iSAWO8R_TbSinEd11XBTx74iYEVdDVE8hQ2kZv_uA2I","level":"info","message":"auth send jwt","requestID":"5efd17507a687856793aa1e36ab1fdba"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5efd17507a687856793aa1e36ab1fdba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5efd17507a687856793aa1e36ab1fdba"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:31Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"3.001","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f1f6b32ac4648bf5376440ccb75d6a55"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.962884,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5efd17507a687856793aa1e36ab1fdba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908831,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMX0.iSAWO8R_TbSinEd11XBTx74iYEVdDVE8hQ2kZv_uA2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5efd17507a687856793aa1e36ab1fdba","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/399c9cf1-8b5b-4197-95aa-24bd2e73617d' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8839aa92-5807-4b74-b35d-d58328f771a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.2007196} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5efd17507a687856793aa1e36ab1fdba","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9b35e121-b88f-4fbb-a38c-9879ed2eaf8a' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8860708d-18a8-4b4a-bb4e-64743ceed0aa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.2058184} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5efd17507a687856793aa1e36ab1fdba","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"158f1acb-d227-487c-93ef-fe0756ea1ee7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.242129} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b668113e-a172-484a-a9e9-84ed6e56feb8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.2422357} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"5efd17507a687856793aa1e36ab1fdba","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"bbc5473a-cbaf-4fd8-8cce-e0c24c9efbb6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.246857} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5efd17507a687856793aa1e36ab1fdba","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5efd17507a687856793aa1e36ab1fdba"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5efd17507a687856793aa1e36ab1fdba"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"5efd17507a687856793aa1e36ab1fdba","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMX0.iSAWO8R_TbSinEd11XBTx74iYEVdDVE8hQ2kZv_uA2I","level":"info","message":"auth send jwt","requestID":"12e6734e7c5fd8e5f784f7c736bc1970"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"12e6734e7c5fd8e5f784f7c736bc1970"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.903545,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"12e6734e7c5fd8e5f784f7c736bc1970","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908831,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMX0.iSAWO8R_TbSinEd11XBTx74iYEVdDVE8hQ2kZv_uA2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7537f782-e3bf-4881-a018-6ac151f1e384","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.2960575} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"213227b1-2e49-478f-8ef6-ae83e73a0c96","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.3012772} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1db230bc-a6a8-423f-a383-f651570c58f1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.330955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbab54fe-ee0c-47b0-b6ee-795d50981b6b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.331233} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"f2252171-8eba-4752-9d6f-296d563dec89","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908831.3351243} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"12e6734e7c5fd8e5f784f7c736bc1970"} gateway-1 | {"time_local":"25/Mar/2025:13:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12e6734e7c5fd8e5f784f7c736bc1970"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"12e6734e7c5fd8e5f784f7c736bc1970","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"7b6ad17d7e7c9093174b4373d703a06c"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b6ad17d7e7c9093174b4373d703a06c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7b6ad17d7e7c9093174b4373d703a06c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615287,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763611,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7b6ad17d7e7c9093174b4373d703a06c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7b6ad17d7e7c9093174b4373d703a06c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"0b6b1c2b-22bb-4d1c-a76b-adf7af7e09cf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.2101526} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"e95e45f4-56f5-4c06-87c7-041c51905c5e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.2108295} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7b6ad17d7e7c9093174b4373d703a06c","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5624b8a1-5609-42f2-9386-08923875d921","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.2146487} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85adde4c-8d40-47af-929b-eb3816b03363","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.2157857} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"7b6ad17d7e7c9093174b4373d703a06c","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"f52a096c-bda1-4a17-aba4-dcf448c34489","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.2429948} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7b6ad17d7e7c9093174b4373d703a06c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7b6ad17d7e7c9093174b4373d703a06c"} device-1 | {"level":"info","message":"PATCH /devices/241678ec-331e-443d-a1ed-0f95b49a00f9 200 43ms","method":"PATCH","requestID":"7b6ad17d7e7c9093174b4373d703a06c","responseTime":43,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/241678ec-331e-443d-a1ed-0f95b49a00f9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"7b6ad17d7e7c9093174b4373d703a06c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646309,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"e1592110-632c-4eeb-a669-5b3f1168530d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.294117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.101","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2"} device-1 | {"level":"info","message":"PATCH /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3 200 97ms","method":"PATCH","requestID":"db3a2aab518b42a2d2e92c24b4f55cd2","responseTime":97,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"fc924fde683ccb11f7ca1e622d432a6f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fc924fde683ccb11f7ca1e622d432a6f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fc924fde683ccb11f7ca1e622d432a6f"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712385,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc924fde683ccb11f7ca1e622d432a6f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc924fde683ccb11f7ca1e622d432a6f","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1"} device-1 | {"level":"info","message":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/websocket 200 55ms","method":"POST","requestID":"8f5f06d0085101a4ee5b0dc25c2d94a1","responseTime":55,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fc924fde683ccb11f7ca1e622d432a6f"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/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.14","requestID":"fc924fde683ccb11f7ca1e622d432a6f"} device-1 | {"level":"info","message":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/websocket 200 14ms","method":"POST","requestID":"fc924fde683ccb11f7ca1e622d432a6f","responseTime":14,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"56c2b7badb5aa80322a1c12c5779c83a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"56c2b7badb5aa80322a1c12c5779c83a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"56c2b7badb5aa80322a1c12c5779c83a"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621249,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"56c2b7badb5aa80322a1c12c5779c83a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"56c2b7badb5aa80322a1c12c5779c83a","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"eac6101f-c3b8-497e-aa01-2b15b43adfc6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.339148} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"56c2b7badb5aa80322a1c12c5779c83a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"56c2b7badb5aa80322a1c12c5779c83a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3? 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":"56c2b7badb5aa80322a1c12c5779c83a"} device-1 | {"level":"info","message":"GET /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3? 200 9ms","method":"GET","requestID":"56c2b7badb5aa80322a1c12c5779c83a","responseTime":9,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"b973696127b5a602ed6c2e231233b047"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b973696127b5a602ed6c2e231233b047","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b973696127b5a602ed6c2e231233b047"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727689,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b973696127b5a602ed6c2e231233b047","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b973696127b5a602ed6c2e231233b047","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"0e5a03d8-4751-4063-ad1d-ccac3374e345","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.3528862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b973696127b5a602ed6c2e231233b047","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b973696127b5a602ed6c2e231233b047"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/241678ec-331e-443d-a1ed-0f95b49a00f9? 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":"b973696127b5a602ed6c2e231233b047"} device-1 | {"level":"info","message":"GET /devices/241678ec-331e-443d-a1ed-0f95b49a00f9? 200 10ms","method":"GET","requestID":"b973696127b5a602ed6c2e231233b047","responseTime":10,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"1870b6a07ea6a3b618b1301988caf88e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1870b6a07ea6a3b618b1301988caf88e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1870b6a07ea6a3b618b1301988caf88e"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.149597,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1870b6a07ea6a3b618b1301988caf88e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1870b6a07ea6a3b618b1301988caf88e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to run experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to book experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully booked experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"edcf2b50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"edcf5260-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691116,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edcf2b50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"edcf2b50-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637722,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edcf5260-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"edcf5260-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"1e94fbab-3698-4580-8345-df1895c39a5a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.3966238} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"edcf2b50-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"d633ddac-5f77-4f15-8335-233b745c4c06","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.3972793} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"edcf5260-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"edcf2b50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3? 200 13ms","method":"GET","requestID":"edcf2b50-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"edcf5260-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/241678ec-331e-443d-a1ed-0f95b49a00f9? 200 12ms","method":"GET","requestID":"edcf5260-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Setting up experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully set up experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"edd8a130-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"edd8ef50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"edd93d70-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72024,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully running experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edd8a130-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"edd8a130-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863853,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edd8ef50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"edd8ef50-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.591786,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7ac23fc-2d0a-4486-92fc-c7144457bc9c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.4856834} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edd93d70-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","rebac_allow":false,"scope_allow":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":"edd93d70-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"14f2d1c6-6d84-400e-b0f4-d77991d80535","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.4881098} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"edd8ef50-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"edd93d70-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"5938bcd1-5859-429f-aaef-1900309bb6a7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.4905505} device-1 | {"level":"info","message":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling 200 37ms","method":"POST","requestID":"edd93d70-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"edd8a130-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8b654e3-f9ea-4e64-b49d-2c2d698940f3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8b654e3-f9ea-4e64-b49d-2c2d698940f3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"4c106118-7ec4-49ba-a3d7-7a2e2183d542","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.493071} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f5196d4-e052-49a0-a37d-3d22a4c9ad5b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.4933028} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"1870b6a07ea6a3b618b1301988caf88e","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"edd8ef50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/241678ec-331e-443d-a1ed-0f95b49a00f9? 200 43ms","method":"GET","requestID":"edd8ef50-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eddfa610-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"edd8a130-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} device-1 | {"level":"info","message":"GET /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3? 200 49ms","method":"GET","requestID":"edd8a130-097b-11f0-96bb-59c96fe0af16","responseTime":49,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f791af4-b1da-4fcf-a80a-2ae5b31a5fed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.501902} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51252,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eddfa610-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","rebac_allow":false,"scope_allow":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":"eddfa610-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ede0b780-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1870b6a07ea6a3b618b1301988caf88e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1870b6a07ea6a3b618b1301988caf88e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"1870b6a07ea6a3b618b1301988caf88e","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eddfa610-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling 200 35ms","method":"POST","requestID":"eddfa610-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"551816e9-8b0b-4567-8a9b-1314d14524a4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.5334153} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.905997,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ede0b780-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ede0b780-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ede0b780-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling 200 36ms","method":"POST","requestID":"ede0b780-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679014,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cb8f88b5556bccfbed2a6e16c1e817c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ede683e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"503cfd32-31f5-494a-8478-b629b7d3fc38","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.5468373} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.242109475Z"}]},"request_id":"a6f0e63e-ea81-4a81-a682-4d956afcddce","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.5470548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478832,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ede683e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ede683e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7"} device-1 | {"level":"info","message":"GET /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3? 200 39ms","method":"GET","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7","responseTime":39,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ede683e0-097b-11f0-96bb-59c96fe0af16"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb8f88b5556bccfbed2a6e16c1e817c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Building connection plan","requestID":"1870b6a07ea6a3b618b1301988caf88e"} device-1 | {"level":"info","message":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling 200 36ms","method":"POST","requestID":"ede683e0-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"02e49143-595d-401e-95b0-da4de49e1b4c"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"4d13f00a-9f58-4643-af4d-68e7d04f3654"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"5a0a4426-1c21-4153-89ff-13a908651697"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1870b6a07ea6a3b618b1301988caf88e"} 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/da5386cc-ef71-4f40-9000-c9f754e3d6a3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1870b6a07ea6a3b618b1301988caf88e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I","level":"info","message":"auth send jwt","requestID":"8b51cf3056a1af84bd5099049880b69a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b51cf3056a1af84bd5099049880b69a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b51cf3056a1af84bd5099049880b69a"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47158","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.447107,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edec7750-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835172,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8b51cf3056a1af84bd5099049880b69a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908832,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzMn0.6NmsMU-1fy7d_MXjdHUddUdIpBzSRNr_2neya-M9z8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8b51cf3056a1af84bd5099049880b69a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:31.330931035Z"}]},"request_id":"45289cbd-4660-4b36-9657-d41edc46617c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.5904167} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b51cf3056a1af84bd5099049880b69a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b51cf3056a1af84bd5099049880b69a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/241678ec-331e-443d-a1ed-0f95b49a00f9? 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":"8b51cf3056a1af84bd5099049880b69a"} device-1 | {"level":"info","message":"GET /devices/241678ec-331e-443d-a1ed-0f95b49a00f9? 200 12ms","method":"GET","requestID":"8b51cf3056a1af84bd5099049880b69a","responseTime":12,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"a70da017-ec1c-4490-acd5-68c21f87ffe5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.5962803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed99f42f-c954-4f9d-84ce-4c6fd593251e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.5963948} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a'","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a'","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 55ms","method":"POST","requestID":"edec7750-097b-11f0-96bb-59c96fe0af16","responseTime":55,"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":"edec7750-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1870b6a07ea6a3b618b1301988caf88e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"edfd1920-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57ace5cf-a87e-4960-b8a4-b4950dbccd7f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.6945014} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.396276,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edfd1920-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"edfd1920-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"edfd1920-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling 200 36ms","method":"POST","requestID":"edfd1920-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ee02e580-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8047811-f298-4dc7-957f-886fd6ca1bef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908832.732417} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.486616,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ee02e580-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ee02e580-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ee02e580-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling 200 8ms","method":"POST","requestID":"ee02e580-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling"} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/4bfeb302-1925-4ca3-9803-a1e8514c0d1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e34a1e99d7e38a3d6056a322705eb4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e34a1e99d7e38a3d6056a322705eb4e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a"}}},"level":"info","message":"received a callback","requestID":"6e34a1e99d7e38a3d6056a322705eb4e"} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.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":"6e34a1e99d7e38a3d6056a322705eb4e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e34a1e99d7e38a3d6056a322705eb4e"} device-1 | {"data":{"peerconnection":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","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/4bfeb302-1925-4ca3-9803-a1e8514c0d1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c12da0ebf1308492bdce783c4f422539","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c12da0ebf1308492bdce783c4f422539","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/da5386cc-ef71-4f40-9000-c9f754e3d6a3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a"}}},"level":"info","message":"received a callback","requestID":"c12da0ebf1308492bdce783c4f422539"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ef3794f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:34Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4bfeb302-1925-4ca3-9803-a1e8514c0d1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42ab9265-8d9e-407c-afe0-dc6e047e053b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908834.7554498} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.39396,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef3794f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a","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":"ef3794f0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ef3794f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a 200 8ms","method":"GET","requestID":"ef3794f0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"c12da0ebf1308492bdce783c4f422539","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"c12da0ebf1308492bdce783c4f422539"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ef3ec0e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:34Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63cd91e5-1d9c-4dd8-a7a1-7f44529672cd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908834.8026063} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.384304,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef3ec0e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ef3ec0e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ef3ec0e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling 200 9ms","method":"POST","requestID":"ef3ec0e0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ef441810-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:34Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"177c7112-42f5-49c7-98e0-d6866879f313","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908834.8384304} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.336638,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef441810-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ef441810-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ef441810-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling 200 10ms","method":"POST","requestID":"ef441810-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNH0._5iRwAJ_k0lKhcTtRt749EWK5Clsj3gArno5Kwwa-WQ","level":"info","message":"auth send jwt","requestID":"cde45722663cd17c90e114edea526666"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cde45722663cd17c90e114edea526666","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","requestID":"cde45722663cd17c90e114edea526666"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.820609,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cde45722663cd17c90e114edea526666","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908834,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNH0._5iRwAJ_k0lKhcTtRt749EWK5Clsj3gArno5Kwwa-WQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cde45722663cd17c90e114edea526666","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","requestID":"cde45722663cd17c90e114edea526666"} gateway-1 | {"time_local":"25/Mar/2025:13:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cde45722663cd17c90e114edea526666"} experiment-1 | {"level":"info","message":"GET /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3 200 14ms","method":"GET","requestID":"cde45722663cd17c90e114edea526666","responseTime":14,"status":200,"url":"/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ","level":"info","message":"auth send jwt","requestID":"4b73fece73a0b1645e11a01c17fa33c6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4b73fece73a0b1645e11a01c17fa33c6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","requestID":"4b73fece73a0b1645e11a01c17fa33c6"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.283852,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4b73fece73a0b1645e11a01c17fa33c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908835,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4b73fece73a0b1645e11a01c17fa33c6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Attempting to finish experiment","requestID":"4b73fece73a0b1645e11a01c17fa33c6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ef620050-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.677669,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef620050-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908835,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ef620050-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"241678ec-331e-443d-a1ed-0f95b49a00f9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"da5386cc-ef71-4f40-9000-c9f754e3d6a3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/4bfeb302-1925-4ca3-9803-a1e8514c0d1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4bfeb302-1925-4ca3-9803-a1e8514c0d1a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4bfeb302-1925-4ca3-9803-a1e8514c0d1a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4bfeb302-1925-4ca3-9803-a1e8514c0d1a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"36dcac0f-58c6-4cba-9f1b-3a7f7a93d200","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.0474055} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e36a4721-8cca-49cf-809a-13f64485fa25","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.0476778} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0814a424bfd63e87193b87995caff62a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0814a424bfd63e87193b87995caff62a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"ef620050-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3aa172193e339f7fee584ed5af8af472","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3aa172193e339f7fee584ed5af8af472","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/da5386cc-ef71-4f40-9000-c9f754e3d6a3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a"}}},"level":"info","message":"received a callback","requestID":"0814a424bfd63e87193b87995caff62a"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a"}}},"level":"info","message":"received a callback","requestID":"3aa172193e339f7fee584ed5af8af472"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ef620050-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a 204 29ms","method":"DELETE","requestID":"ef620050-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":204,"url":"/peerconnections/4bfeb302-1925-4ca3-9803-a1e8514c0d1a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"},"level":"info","message":"Successfully finished experiment","requestID":"4b73fece73a0b1645e11a01c17fa33c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ef695350-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5386cc-ef71-4f40-9000-c9f754e3d6a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e7b752f-6585-4ad4-8fcc-3c94b038e583","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.0815444} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.192681,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef695350-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3","object_type":"device","rebac_allow":false,"scope_allow":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":"ef695350-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ef695350-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling 200 9ms","method":"POST","requestID":"ef695350-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8b654e3-f9ea-4e64-b49d-2c2d698940f3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8b654e3-f9ea-4e64-b49d-2c2d698940f3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"2b891448-d51e-4257-afb5-f4ca347f7935","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.0877643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d85e1f0-7bb0-40ba-87e6-94dd7fbbd0c9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.087944} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ef6b0100-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"4b73fece73a0b1645e11a01c17fa33c6","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F241678ec-331e-443d-a1ed-0f95b49a00f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0984d181-be8b-4b5f-a12d-81d8883e64e7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.0931625} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.63453,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ef6b0100-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ef6b0100-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ef6b0100-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling 200 10ms","method":"POST","requestID":"ef6b0100-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/241678ec-331e-443d-a1ed-0f95b49a00f9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3","requestID":"4b73fece73a0b1645e11a01c17fa33c6"} gateway-1 | {"time_local":"25/Mar/2025:13:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b73fece73a0b1645e11a01c17fa33c6"} experiment-1 | {"level":"info","message":"DELETE /experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3 204 125ms","method":"DELETE","requestID":"4b73fece73a0b1645e11a01c17fa33c6","responseTime":125,"status":204,"url":"/experiments/d8b654e3-f9ea-4e64-b49d-2c2d698940f3"} gateway-1 | {"time_local":"25/Mar/2025:13:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"2.834","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"f7cff258e5023a83957580111d3f4408"} gateway-1 | {"time_local":"25/Mar/2025:13:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"2.824","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"bf4c84d0634e2bc37278b43f9fffabbc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 91ms","method":"POST","requestID":"0814a424bfd63e87193b87995caff62a","responseTime":91,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.095","http_referrer":"","http_user_agent":"node-fetch","requestID":"0814a424bfd63e87193b87995caff62a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 90ms","method":"POST","requestID":"3aa172193e339f7fee584ed5af8af472","responseTime":90,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.096","http_referrer":"","http_user_agent":"node-fetch","requestID":"3aa172193e339f7fee584ed5af8af472"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ","level":"info","message":"auth send jwt","requestID":"a51d9b1c139dbd16fd561377b6878089"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a51d9b1c139dbd16fd561377b6878089","responseTime":27,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/da5386cc-ef71-4f40-9000-c9f754e3d6a3' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"a51d9b1c139dbd16fd561377b6878089"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.053853,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a51d9b1c139dbd16fd561377b6878089","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908835,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a51d9b1c139dbd16fd561377b6878089","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/241678ec-331e-443d-a1ed-0f95b49a00f9' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23fd319b-2e29-465a-82bd-0c053672e02c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.1912098} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a51d9b1c139dbd16fd561377b6878089","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5474039-64a8-4e90-8fd5-a06ae2428703","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.2198887} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a51d9b1c139dbd16fd561377b6878089","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"d39ca162-68d1-45d4-a3d9-4bd40a7b0020","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.2320237} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8960ef98-3c77-41f9-9eb4-9bd0529d1021","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.232205} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a51d9b1c139dbd16fd561377b6878089","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.231997088Z"}]},"request_id":"e7697d2f-78ea-4240-8e06-fc3a5c660e3d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.238126} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a51d9b1c139dbd16fd561377b6878089","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a51d9b1c139dbd16fd561377b6878089"} gateway-1 | {"time_local":"25/Mar/2025:13:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a51d9b1c139dbd16fd561377b6878089"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"a51d9b1c139dbd16fd561377b6878089","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ","level":"info","message":"auth send jwt","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.958979,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908835,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzNX0.oiSC6hLGbbuz5OSE-FkcP-yZGTG-afBHXx-0AktAMqQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f1c2ede-34e4-46fd-8b78-4beb2607b2dd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.3130233} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8bbf71c-cf5c-40c3-a7df-f8d21c87effb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.3184605} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"450067e3-88a3-4da7-aaa3-243ba1a55466","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.3290005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2025834-ba81-4dec-8cb9-453974a21fbe","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.3292055} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.328978649Z"}]},"request_id":"5b409bb2-ffe6-4dcc-a2e9-dbff1a768648","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908835.3341599} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374"} gateway-1 | {"time_local":"25/Mar/2025:13:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"c03bcd2fbd9702d0edc5e01aff3f0374","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ab6e81c7a0d2ccc19bad648aad98b76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ab6e81c7a0d2ccc19bad648aad98b76","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/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":"3ab6e81c7a0d2ccc19bad648aad98b76"} device-1 | {"level":"info","message":"OPTIONS /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/websocket 200 1ms","method":"OPTIONS","requestID":"3ab6e81c7a0d2ccc19bad648aad98b76","responseTime":1,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"57ba5c2c018fa5ddc0fbcc4b63ad2b5d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"57ba5c2c018fa5ddc0fbcc4b63ad2b5d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/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":"57ba5c2c018fa5ddc0fbcc4b63ad2b5d"} device-1 | {"level":"info","message":"OPTIONS /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/websocket 200 1ms","method":"OPTIONS","requestID":"57ba5c2c018fa5ddc0fbcc4b63ad2b5d","responseTime":1,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"ea88d347699a15a2ace7c0e719595139"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea88d347699a15a2ace7c0e719595139","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ea88d347699a15a2ace7c0e719595139"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"2d55ac8d5fe6af60f00d61b91909b193"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d55ac8d5fe6af60f00d61b91909b193","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2d55ac8d5fe6af60f00d61b91909b193"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098293,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ea88d347699a15a2ace7c0e719595139","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ea88d347699a15a2ace7c0e719595139","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.122598,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2d55ac8d5fe6af60f00d61b91909b193","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2d55ac8d5fe6af60f00d61b91909b193","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ea88d347699a15a2ace7c0e719595139"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea88d347699a15a2ace7c0e719595139"} device-1 | {"level":"info","message":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/websocket 200 23ms","method":"POST","requestID":"ea88d347699a15a2ace7c0e719595139","responseTime":23,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2d55ac8d5fe6af60f00d61b91909b193"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/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":"2d55ac8d5fe6af60f00d61b91909b193"} device-1 | {"level":"info","message":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/websocket 200 32ms","method":"POST","requestID":"2d55ac8d5fe6af60f00d61b91909b193","responseTime":32,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665627,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.231997088Z"}]},"request_id":"a03b8ba0-954e-4e6f-8b34-8d0e53e7a943","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.582499} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4? 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":"f8e205d4c85c4ddcc5443ba394ad7d5f"} device-1 | {"level":"info","message":"GET /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4? 200 9ms","method":"GET","requestID":"f8e205d4c85c4ddcc5443ba394ad7d5f","responseTime":9,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"150ba508fc59e4448c09ca52229033e1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"150ba508fc59e4448c09ca52229033e1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"150ba508fc59e4448c09ca52229033e1"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.829791,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"150ba508fc59e4448c09ca52229033e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"150ba508fc59e4448c09ca52229033e1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.328978649Z"}]},"request_id":"ea21369d-96fe-48fa-a6f5-e1f10941dce9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.5990524} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"150ba508fc59e4448c09ca52229033e1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"150ba508fc59e4448c09ca52229033e1"} device-1 | {"level":"info","message":"GET /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48? 200 10ms","method":"GET","requestID":"150ba508fc59e4448c09ca52229033e1","responseTime":10,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"150ba508fc59e4448c09ca52229033e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.729506,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to run experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to book experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully booked experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0ef7e20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0efa530-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626334,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f0ef7e20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f0ef7e20-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633851,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f0efa530-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f0efa530-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.231997088Z"}]},"request_id":"23c8586e-37ea-47e9-9909-af751ec82bd4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.6649148} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f0ef7e20-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.328978649Z"}]},"request_id":"4f5815ef-a799-49fd-9e71-8abb4d0624a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.6681664} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0ef7e20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f0efa530-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4? 200 35ms","method":"GET","requestID":"f0ef7e20-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0efa530-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48? 200 37ms","method":"GET","requestID":"f0efa530-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Setting up experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully set up experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0fe7240-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0fe9950-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f0fee770-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully running experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.042357,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f0fe7240-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f0fe7240-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.940055,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f0fe9950-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f0fe9950-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c51e4d8-5782-48d9-9f57-6866192bd730","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.7653322} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.736052,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f0fee770-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f0fee770-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.328978649Z"}]},"request_id":"72e1e99d-4ad3-4ffb-a0e6-896141573d81","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.768269} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f0fe9950-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.231997088Z"}]},"request_id":"00b00d0e-ca46-495f-a18c-aafeec9daf3b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.770356} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f0fe7240-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f0fee770-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling 200 37ms","method":"POST","requestID":"f0fee770-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc2264d4d-6531-416b-a59e-1a63fce8f68a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc2264d4d-6531-416b-a59e-1a63fce8f68a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"c2fdcf20-a962-42a5-bbaa-befffdce7412","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.7735517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fcd4fa7-364a-493e-855f-7c51a83954dc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.7737184} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f104dae0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0fe9950-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} device-1 | {"level":"info","message":"GET /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48? 200 44ms","method":"GET","requestID":"f0fe9950-097b-11f0-96bb-59c96fe0af16","responseTime":44,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0fe7240-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4? 200 46ms","method":"GET","requestID":"f0fe7240-097b-11f0-96bb-59c96fe0af16","responseTime":46,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65e2c0d7-a0c7-456f-abc3-d43a9d63c0f7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.7788997} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.749445,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f104dae0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f104dae0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f105ec50-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 204ms","method":"POST","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6","responseTime":204,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"991d3252-e5e2-4052-84bf-810d89a25b2b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.8101757} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f104dae0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling 200 37ms","method":"POST","requestID":"f104dae0-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.170814,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f105ec50-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","rebac_allow":false,"scope_allow":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":"f105ec50-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"4818d4597e4745dab55e9d4efe2af835"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4818d4597e4745dab55e9d4efe2af835","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f105ec50-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling 200 34ms","method":"POST","requestID":"f105ec50-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4818d4597e4745dab55e9d4efe2af835"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f10b6a90-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925066,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4818d4597e4745dab55e9d4efe2af835","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4818d4597e4745dab55e9d4efe2af835","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f9f6f7a-3c90-40bd-85fe-42a11aafc454","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.8214214} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.418009,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f10b6a90-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f10b6a90-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.231997088Z"}]},"request_id":"22352a6e-6707-4f9f-847d-e316e890c549","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.823402} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4818d4597e4745dab55e9d4efe2af835","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f10b6a90-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling 200 10ms","method":"POST","requestID":"f10b6a90-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4818d4597e4745dab55e9d4efe2af835"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4? 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":"4818d4597e4745dab55e9d4efe2af835"} device-1 | {"level":"info","message":"GET /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4? 200 11ms","method":"GET","requestID":"4818d4597e4745dab55e9d4efe2af835","responseTime":11,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Building connection plan","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} 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":"f08f1636-4a67-4bf0-81ab-69f097858c5c"},{"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":"facada4a-54d6-4fa8-bdc8-ee5e17de3e57"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f0fd2189-3fd6-4660-8ea3-43de843f5858"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} 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/b555bd38-d78a-4d09-8e17-b0a5b2a81b48"},{"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/faa55f75-1a45-4da6-9f09-29a421d8bea4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0","level":"info","message":"auth send jwt","requestID":"7bb3c88b98da1d9e73271a247f4cc165"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bb3c88b98da1d9e73271a247f4cc165","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7bb3c88b98da1d9e73271a247f4cc165"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":25.566674,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662518,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7bb3c88b98da1d9e73271a247f4cc165","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908837,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzN30.tSI-YHsX1-wDl0ey9FFwLy_Fo3JF-jz1IdYpCF6A4A0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7bb3c88b98da1d9e73271a247f4cc165","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:35.328978649Z"}]},"request_id":"c7360723-c8e4-4a11-b491-2af42d9cb54c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.8635306} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7bb3c88b98da1d9e73271a247f4cc165","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7bb3c88b98da1d9e73271a247f4cc165"} device-1 | {"level":"info","message":"GET /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48? 200 34ms","method":"GET","requestID":"7bb3c88b98da1d9e73271a247f4cc165","responseTime":34,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48? 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":"7bb3c88b98da1d9e73271a247f4cc165"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"cef70ed2-04d8-4a13-b154-ade68d387e47","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.8675768} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35d753c0-a0d0-4e25-9806-290058b94755","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.8679585} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1'","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1'","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f10d6660-097b-11f0-96bb-59c96fe0af16"} 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":"f10d6660-097b-11f0-96bb-59c96fe0af16","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":"f10d6660-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9f07f6ddf9ad6439c715f6f27ae1bea6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f11cf6c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} device-1 | {"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8962c7e0-5e89-49c5-9ad3-6e2c00a27fe1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.9588745} device-1 | {"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.042634,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f11cf6c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","rebac_allow":false,"scope_allow":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":"f11cf6c0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f11cf6c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling 200 11ms","method":"POST","requestID":"f11cf6c0-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1224df0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"content":{"sdp":"v=0\r\no=- 7058477975501891081 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:jEPO\r\na=ice-pwd:mXYyoexcvJePSVq0pHifYDp0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F5:2B:BB:67:40:69:58:B9:40:92:FC:2C:DB:D9:4A:5B:E0:EF:C9:1C:0A:2B:D9:09:B2:81:43:19:C9:09:7B:08\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c66fe3f-c628-4ca3-adc8-61d9c3639b3f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908837.9724824} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.68156,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f1224df0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f1224df0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8171957632732967466 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:UWCh\r\na=ice-pwd:nAVYU4v2e/+sq7r4cTGSAtAD\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A1:E4:C7:63:32:01:92:AF:E2:BE:69:46:7F:89:44:D4:A9:57:35:0B:C3:46:B0:5D:07:9B:EE:38:D2:D2:6E:A5\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:204682038 1 udp 2113937151 5dba6052-a49b-4335-96d2-df8a7c9b3f71.local 57178 typ host generation 0 ufrag UWCh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1224df0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling 200 38ms","method":"POST","requestID":"f1224df0-097b-11f0-96bb-59c96fe0af16","responseTime":38,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48'"} device-1 | {"content":{"candidate":"candidate:3062852252 1 udp 2113937151 e6ae0bcf-0440-4969-8a4c-90d3ad8008fd.local 33446 typ host generation 0 ufrag jEPO network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","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/e2eb360a-7c34-4cbc-a079-9eec129d09a1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e2eb360a-7c34-4cbc-a079-9eec129d09a1","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"31ebe94d2f1ef1247488b08fc4670fd2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"31ebe94d2f1ef1247488b08fc4670fd2","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":"new","url":"http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48"},{"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/faa55f75-1a45-4da6-9f09-29a421d8bea4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1"}}},"level":"info","message":"received a callback","requestID":"31ebe94d2f1ef1247488b08fc4670fd2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"31ebe94d2f1ef1247488b08fc4670fd2","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"31ebe94d2f1ef1247488b08fc4670fd2"} device-1 | {"device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"e2eb360a-7c34-4cbc-a079-9eec129d09a1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"e2eb360a-7c34-4cbc-a079-9eec129d09a1","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/e2eb360a-7c34-4cbc-a079-9eec129d09a1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e2eb360a-7c34-4cbc-a079-9eec129d09a1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"85c900436f191044c810897f1d2cbafe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"85c900436f191044c810897f1d2cbafe","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48"},{"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/faa55f75-1a45-4da6-9f09-29a421d8bea4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1"}}},"level":"info","message":"received a callback","requestID":"85c900436f191044c810897f1d2cbafe"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f1369940-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe2eb360a-7c34-4cbc-a079-9eec129d09a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"beaaf9cd-a52d-48c5-8066-99259d834976","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.1045952} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.192295,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f1369940-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","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":"f1369940-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f1369940-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1 200 8ms","method":"GET","requestID":"f1369940-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 73ms","method":"POST","requestID":"85c900436f191044c810897f1d2cbafe","responseTime":73,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch","requestID":"85c900436f191044c810897f1d2cbafe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f13d9e20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9939ac4-ab2c-44c5-a92f-925aa6fba5ae","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.1509924} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.553393,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f13d9e20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","rebac_allow":false,"scope_allow":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":"f13d9e20-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f13d9e20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling 200 9ms","method":"POST","requestID":"f13d9e20-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f13f4bd0-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8","level":"info","message":"auth send jwt","requestID":"5d42058883e949f877e6ebc4e5f84a9a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d42058883e949f877e6ebc4e5f84a9a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","requestID":"5d42058883e949f877e6ebc4e5f84a9a"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"921a3b64-37e2-40f3-92c2-757a4eddda41","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.1617346} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.354969,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f13f4bd0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f13f4bd0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.594399,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5d42058883e949f877e6ebc4e5f84a9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908838,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5d42058883e949f877e6ebc4e5f84a9a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f13f4bd0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling 200 9ms","method":"POST","requestID":"f13f4bd0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","requestID":"5d42058883e949f877e6ebc4e5f84a9a"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d42058883e949f877e6ebc4e5f84a9a"} experiment-1 | {"level":"info","message":"GET /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a 200 12ms","method":"GET","requestID":"5d42058883e949f877e6ebc4e5f84a9a","responseTime":12,"status":200,"url":"/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8","level":"info","message":"auth send jwt","requestID":"7fc3b5ea607688f545cadeeb582e8938"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7fc3b5ea607688f545cadeeb582e8938","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","requestID":"7fc3b5ea607688f545cadeeb582e8938"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.644358,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7fc3b5ea607688f545cadeeb582e8938","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908838,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7fc3b5ea607688f545cadeeb582e8938","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Attempting to finish experiment","requestID":"7fc3b5ea607688f545cadeeb582e8938"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f1473b10-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.663881,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f1473b10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908838,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f1473b10-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","device":"faa55f75-1a45-4da6-9f09-29a421d8bea4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1","device":"b555bd38-d78a-4d09-8e17-b0a5b2a81b48","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/e2eb360a-7c34-4cbc-a079-9eec129d09a1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e2eb360a-7c34-4cbc-a079-9eec129d09a1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe2eb360a-7c34-4cbc-a079-9eec129d09a1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe2eb360a-7c34-4cbc-a079-9eec129d09a1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"91d54f36-4294-4f3f-9d0c-4de55851f874","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.2464364} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e31b69fcad33a13ac70b7d789a394394","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cf3d562-2ec6-40eb-a1a4-ad7f7e6e7f7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.2466433} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e31b69fcad33a13ac70b7d789a394394","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f475c7cd6b3362bdff4a585b617acdd7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"f1473b10-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"f475c7cd6b3362bdff4a585b617acdd7","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48"},{"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/faa55f75-1a45-4da6-9f09-29a421d8bea4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1"}}},"level":"info","message":"received a callback","requestID":"e31b69fcad33a13ac70b7d789a394394"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48"},{"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/faa55f75-1a45-4da6-9f09-29a421d8bea4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1"}}},"level":"info","message":"received a callback","requestID":"f475c7cd6b3362bdff4a585b617acdd7"} device-1 | {"data":{"peerconnection":"e2eb360a-7c34-4cbc-a079-9eec129d09a1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f1473b10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1 204 53ms","method":"DELETE","requestID":"f1473b10-097b-11f0-96bb-59c96fe0af16","responseTime":53,"status":204,"url":"/peerconnections/e2eb360a-7c34-4cbc-a079-9eec129d09a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"},"level":"info","message":"Successfully finished experiment","requestID":"7fc3b5ea607688f545cadeeb582e8938"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1551dc0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb555bd38-d78a-4d09-8e17-b0a5b2a81b48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a04bf2a-e2e8-461b-b746-2c382d94c76c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.304256} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.550558,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f1551dc0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f1551dc0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1551dc0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling 200 8ms","method":"POST","requestID":"f1551dc0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f156a460-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc2264d4d-6531-416b-a59e-1a63fce8f68a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc2264d4d-6531-416b-a59e-1a63fce8f68a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"b6a498fc-273f-40d0-a5cc-db21b2ee29a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.3377187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"deed7ef0-2d0a-4ccf-81f6-302de8a1386c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.3380675} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"7fc3b5ea607688f545cadeeb582e8938","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaa55f75-1a45-4da6-9f09-29a421d8bea4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"214537b5-2875-47a5-8f3a-0f88c9fc9c7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.3403535} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.666086,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f156a460-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f156a460-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f156a460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling 200 34ms","method":"POST","requestID":"f156a460-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/faa55f75-1a45-4da6-9f09-29a421d8bea4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a","requestID":"7fc3b5ea607688f545cadeeb582e8938"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7fc3b5ea607688f545cadeeb582e8938"} experiment-1 | {"level":"info","message":"DELETE /experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a 204 212ms","method":"DELETE","requestID":"7fc3b5ea607688f545cadeeb582e8938","responseTime":212,"status":204,"url":"/experiments/c2264d4d-6531-416b-a59e-1a63fce8f68a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"e31b69fcad33a13ac70b7d789a394394","responseTime":187,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"e31b69fcad33a13ac70b7d789a394394"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"f475c7cd6b3362bdff4a585b617acdd7","responseTime":186,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"f475c7cd6b3362bdff4a585b617acdd7"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"0.882","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0d78587e0a68ee198101229682926367"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8","level":"info","message":"auth send jwt","requestID":"64da66044e4ab90d4f79e525acf40dec"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2579","request_time":"0.894","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aa4793cc23d393ed95dcf11f2fc4553e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"64da66044e4ab90d4f79e525acf40dec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"64da66044e4ab90d4f79e525acf40dec"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b555bd38-d78a-4d09-8e17-b0a5b2a81b48' closed"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.568952,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"64da66044e4ab90d4f79e525acf40dec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908838,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"64da66044e4ab90d4f79e525acf40dec","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/faa55f75-1a45-4da6-9f09-29a421d8bea4' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9d7fff41-6752-4f26-a11e-32d1109cef46","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.4838305} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"64da66044e4ab90d4f79e525acf40dec","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb11acee-58f6-48eb-b09e-e0b98ff2dba1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.4881508} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"64da66044e4ab90d4f79e525acf40dec","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"53a0d4ab-ff63-4105-9a33-ed3f6d16bcdb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.4982307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7389c478-799b-4d93-bfed-79044e6f50d3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.4983084} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"64da66044e4ab90d4f79e525acf40dec","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.498213272Z"}]},"request_id":"233e4c4e-e8fa-41e6-b3a7-a77c10ce372e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.5015726} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"64da66044e4ab90d4f79e525acf40dec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"64da66044e4ab90d4f79e525acf40dec"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64da66044e4ab90d4f79e525acf40dec"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"64da66044e4ab90d4f79e525acf40dec","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8","level":"info","message":"auth send jwt","requestID":"0ab2b34741354d22b717c9f87c176f18"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"0ab2b34741354d22b717c9f87c176f18","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ab2b34741354d22b717c9f87c176f18"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.760083,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0ab2b34741354d22b717c9f87c176f18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908838,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODgzOH0.3YJcjroj6ezpYLxf9p4lx8ECKIhesxCV-jIw53xHBh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ab2b34741354d22b717c9f87c176f18","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"540af757-0fec-4cd7-b61c-2e553a18a453","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.5458517} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0ab2b34741354d22b717c9f87c176f18","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c15fefd4-f5ff-4251-beff-d2cad8ac073f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.5493555} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0ab2b34741354d22b717c9f87c176f18","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"8fb8a28a-55a3-4d24-84c3-c666d1850c30","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.5821195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a47befd-c6cd-4ab9-b73c-b2c2610ff988","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.5821726} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"0ab2b34741354d22b717c9f87c176f18","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.582099641Z"}]},"request_id":"718e9588-00d1-4b40-9f1a-b1a5bd436aca","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908838.5856845} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0ab2b34741354d22b717c9f87c176f18","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ab2b34741354d22b717c9f87c176f18"} gateway-1 | {"time_local":"25/Mar/2025:13:20:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ab2b34741354d22b717c9f87c176f18"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"0ab2b34741354d22b717c9f87c176f18","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4643defbe2c7efb9c9ecd138d03a375c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4643defbe2c7efb9c9ecd138d03a375c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/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":"4643defbe2c7efb9c9ecd138d03a375c"} device-1 | {"level":"info","message":"OPTIONS /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/websocket 200 1ms","method":"OPTIONS","requestID":"4643defbe2c7efb9c9ecd138d03a375c","responseTime":1,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ba3d61e302da66735b3ae86037f10a22","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ba3d61e302da66735b3ae86037f10a22","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/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":"ba3d61e302da66735b3ae86037f10a22"} device-1 | {"level":"info","message":"OPTIONS /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/websocket 200 0ms","method":"OPTIONS","requestID":"ba3d61e302da66735b3ae86037f10a22","responseTime":0,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk","level":"info","message":"auth send jwt","requestID":"e094ba73c03b441b3b18294275fa3672"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e094ba73c03b441b3b18294275fa3672"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e094ba73c03b441b3b18294275fa3672","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.385445,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk","level":"info","message":"auth send jwt","requestID":"989397314585da2fe90e4f148a0e7dd9"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e094ba73c03b441b3b18294275fa3672","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"989397314585da2fe90e4f148a0e7dd9","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e094ba73c03b441b3b18294275fa3672","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"989397314585da2fe90e4f148a0e7dd9"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087104,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"989397314585da2fe90e4f148a0e7dd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"989397314585da2fe90e4f148a0e7dd9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e094ba73c03b441b3b18294275fa3672"} gateway-1 | {"time_local":"25/Mar/2025:13:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e094ba73c03b441b3b18294275fa3672"} device-1 | {"level":"info","message":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/websocket 200 22ms","method":"POST","requestID":"e094ba73c03b441b3b18294275fa3672","responseTime":22,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"989397314585da2fe90e4f148a0e7dd9"} gateway-1 | {"time_local":"25/Mar/2025:13:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"989397314585da2fe90e4f148a0e7dd9"} device-1 | {"level":"info","message":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/websocket 200 24ms","method":"POST","requestID":"989397314585da2fe90e4f148a0e7dd9","responseTime":24,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk","level":"info","message":"auth send jwt","requestID":"3df1a2f583b7813deed4e2b6494a1e10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3df1a2f583b7813deed4e2b6494a1e10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3df1a2f583b7813deed4e2b6494a1e10"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700905,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3df1a2f583b7813deed4e2b6494a1e10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3df1a2f583b7813deed4e2b6494a1e10","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.498213272Z"}]},"request_id":"62a7ad52-d134-42e6-913f-3586c5a129b0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908840.9430077} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3df1a2f583b7813deed4e2b6494a1e10","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3df1a2f583b7813deed4e2b6494a1e10"} gateway-1 | {"time_local":"25/Mar/2025:13:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3df1a2f583b7813deed4e2b6494a1e10"} device-1 | {"level":"info","message":"GET /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114? 200 12ms","method":"GET","requestID":"3df1a2f583b7813deed4e2b6494a1e10","responseTime":12,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk","level":"info","message":"auth send jwt","requestID":"b57683cd4e75fa5386c42d4f26d48b33"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b57683cd4e75fa5386c42d4f26d48b33","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b57683cd4e75fa5386c42d4f26d48b33"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687871,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b57683cd4e75fa5386c42d4f26d48b33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b57683cd4e75fa5386c42d4f26d48b33","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.582099641Z"}]},"request_id":"890f9fe7-0741-4f03-952c-f09461aec831","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908840.9578872} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b57683cd4e75fa5386c42d4f26d48b33","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b57683cd4e75fa5386c42d4f26d48b33"} gateway-1 | {"time_local":"25/Mar/2025:13:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e? 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":"b57683cd4e75fa5386c42d4f26d48b33"} device-1 | {"level":"info","message":"GET /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e? 200 10ms","method":"GET","requestID":"b57683cd4e75fa5386c42d4f26d48b33","responseTime":10,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk","level":"info","message":"auth send jwt","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.694866,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"bdc81ffaeb6ba5816b678fb83ea88e14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to run experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to book experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully booked experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2ef93e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2efbaf0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605333,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f2ef93e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2ef93e0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.564568,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f2efbaf0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f2efbaf0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.498213272Z"}]},"request_id":"ce64fc1e-e3f2-4bb1-8b54-08e91cc950dd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908840.9964366} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f2ef93e0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.582099641Z"}]},"request_id":"a2e7b574-b715-46c8-b0bc-6a7f73dec110","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908840.9972675} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f2efbaf0-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2ef93e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114? 200 35ms","method":"GET","requestID":"f2ef93e0-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2efbaf0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e? 200 34ms","method":"GET","requestID":"f2efbaf0-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Setting up experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully set up experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2fe39e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2fe8800-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f2feaf10-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974683,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully running experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f2fe39e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f2fe39e0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63256,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f2fe8800-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2fe8800-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37a40c4b-6a21-45d3-be52-2f91f10e9533","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.0951335} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.970316,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f2feaf10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","rebac_allow":false,"scope_allow":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":"f2feaf10-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.582099641Z"}]},"request_id":"f78da9de-f144-4e16-943f-f9933a2fbaa5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1217105} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.498213272Z"}]},"request_id":"84b1a7da-3baf-461a-b649-d5fa93054f50","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1224847} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f2fe8800-097b-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2fe39e0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f2feaf10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling 200 38ms","method":"POST","requestID":"f2feaf10-097b-11f0-96bb-59c96fe0af16","responseTime":38,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2fe8800-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2309911d-1b56-4a29-a2a7-ca895c0216b2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2309911d-1b56-4a29-a2a7-ca895c0216b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"4ca059e7-3357-41af-aea1-7e00cfba2091","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1281137} device-1 | {"level":"info","message":"GET /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e? 200 40ms","method":"GET","requestID":"f2fe8800-097b-11f0-96bb-59c96fe0af16","responseTime":40,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bc9c11e-16d7-44ff-a602-f37de7df3f31","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.128374} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2fe39e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114? 200 43ms","method":"GET","requestID":"f2fe39e0-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f304f0a0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f30517b0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c40ee2d6-e170-4126-b7bb-46035f648bef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1338632} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.857368,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f304f0a0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","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/2309911d-1b56-4a29-a2a7-ca895c0216b2","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f304f0a0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.3749,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 172ms","method":"POST","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14","responseTime":172,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b251e347-9eaa-4f1f-bf35-7ed340642a80","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1357114} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f30517b0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f30517b0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f304f0a0-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c","level":"info","message":"auth send jwt","requestID":"d78ed04df1ab035eff4a22834c5aaaeb"} device-1 | {"level":"info","message":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling 200 10ms","method":"POST","requestID":"f304f0a0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d78ed04df1ab035eff4a22834c5aaaeb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f30517b0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling 200 10ms","method":"POST","requestID":"f30517b0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d78ed04df1ab035eff4a22834c5aaaeb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f306ec70-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.850462,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d78ed04df1ab035eff4a22834c5aaaeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"d78ed04df1ab035eff4a22834c5aaaeb","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80458cde-e310-4779-b3db-ea9d29c192ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.171198} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.220655,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f306ec70-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","rebac_allow":false,"scope_allow":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":"f306ec70-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.498213272Z"}]},"request_id":"42bbd433-44bc-4ea9-8ef8-9702d19d3442","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1732304} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d78ed04df1ab035eff4a22834c5aaaeb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f306ec70-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling 200 34ms","method":"POST","requestID":"f306ec70-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d78ed04df1ab035eff4a22834c5aaaeb"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114? 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":"d78ed04df1ab035eff4a22834c5aaaeb"} device-1 | {"level":"info","message":"GET /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114? 200 36ms","method":"GET","requestID":"d78ed04df1ab035eff4a22834c5aaaeb","responseTime":36,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Building connection plan","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} 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":"ee166d15-44ff-4b21-95dd-09fceeeb780d"},{"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":"b8ca322d-0da5-4875-9c87-5401cd9fb320"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"89d87555-5399-4760-b3cb-845db8e3a4ee"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} 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/535d1855-3c44-4b42-9df3-9bd952f1de7e"},{"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/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c","level":"info","message":"auth send jwt","requestID":"cce10bbc0c22e9a77321a40bab538c58"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cce10bbc0c22e9a77321a40bab538c58","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cce10bbc0c22e9a77321a40bab538c58"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.726075,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908840,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MH0.CPlYoX2UtXD5zpXSVezYUp_bu4xtk0-6M3Zn_-aZdJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723005,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cce10bbc0c22e9a77321a40bab538c58","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cce10bbc0c22e9a77321a40bab538c58","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:38.582099641Z"}]},"request_id":"14b28c1a-655f-4fa3-88bf-2e01f9afc427","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1905808} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cce10bbc0c22e9a77321a40bab538c58","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"e56fcacb-0d6b-432c-8ce8-dd4a0f1f3b2f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1917064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8db6ef2-aa0c-43fb-b439-aced5c3fbbc1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.1920671} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cce10bbc0c22e9a77321a40bab538c58"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e? 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":"cce10bbc0c22e9a77321a40bab538c58"} device-1 | {"level":"info","message":"GET /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e? 200 38ms","method":"GET","requestID":"cce10bbc0c22e9a77321a40bab538c58","responseTime":38,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037'","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037'","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f30c6ab0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bdc81ffaeb6ba5816b678fb83ea88e14"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f31b37c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fb7f4ca-1c1c-4191-824c-fbf8f3fbf0fb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.280667} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.851037,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f31b37c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f31b37c0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f31b37c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling 200 11ms","method":"POST","requestID":"f31b37c0-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f320dd10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"content":{"sdp":"v=0\r\no=- 148056386655788507 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:+woL\r\na=ice-pwd:9H31NzsA4n4VVbLh5jWFMpwr\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A1:FF:F0:F7:75:C8:C2:FB:9D:A5:9B:2E:71:83:63:B7:70:57:79:64:ED:01:8E:B5:69:0E:62:05:8C:18:DF:EA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8ad5b57-3255-4524-b583-735e2c40a086","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.3174863} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.479233,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f320dd10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f320dd10-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f320dd10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling 200 9ms","method":"POST","requestID":"f320dd10-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8725756719875019483 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:gmTF\r\na=ice-pwd:Wsr3foIj7Hjh9sOhgMmSgXpc\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F1:66:EB:57:2C:3E:54:45:77:9D:22:E0:A0:B1:5F:D6:03:73:F7:93:81:77:70:57:B2:F7:AC:92:55:46:F3:A2\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4156906383 1 udp 2113937151 22929398-fa2a-497e-8992-da075450190e.local 55086 typ host generation 0 ufrag gmTF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","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/535d1855-3c44-4b42-9df3-9bd952f1de7e'"} device-1 | {"content":{"candidate":"candidate:223566116 1 udp 2113937151 1f5c6a0b-9213-4d25-a1e7-a406fd47a848.local 33832 typ host generation 0 ufrag +woL network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","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/2848ee78-7c4b-4002-9f38-24bcc1ebd037' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2848ee78-7c4b-4002-9f38-24bcc1ebd037","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b38e533a5278b16d105d7f3eda6f0d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"5b38e533a5278b16d105d7f3eda6f0d0","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":"new","url":"http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e"},{"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/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037"}}},"level":"info","message":"received a callback","requestID":"5b38e533a5278b16d105d7f3eda6f0d0"} device-1 | {"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"5b38e533a5278b16d105d7f3eda6f0d0","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b38e533a5278b16d105d7f3eda6f0d0"} device-1 | {"device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"2848ee78-7c4b-4002-9f38-24bcc1ebd037","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2848ee78-7c4b-4002-9f38-24bcc1ebd037","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/2848ee78-7c4b-4002-9f38-24bcc1ebd037' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2848ee78-7c4b-4002-9f38-24bcc1ebd037","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ab90f0f56a44262795511fc0586bde96","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ab90f0f56a44262795511fc0586bde96","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/535d1855-3c44-4b42-9df3-9bd952f1de7e"},{"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/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037"}}},"level":"info","message":"received a callback","requestID":"ab90f0f56a44262795511fc0586bde96"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f3309480-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2848ee78-7c4b-4002-9f38-24bcc1ebd037","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31151966-ce43-4173-931a-7c5ef9009bda","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.4206927} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.291785,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f3309480-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","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":"f3309480-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f3309480-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037 200 8ms","method":"GET","requestID":"f3309480-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"ab90f0f56a44262795511fc0586bde96","responseTime":46,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f3374b40-097b-11f0-96bb-59c96fe0af16"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"ab90f0f56a44262795511fc0586bde96"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64611c1d-2955-4c83-8adc-2e8fea15a078","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.464343} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.731101,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f3374b40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f3374b40-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f3374b40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling 200 8ms","method":"POST","requestID":"f3374b40-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f338d1e0-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c","level":"info","message":"auth send jwt","requestID":"3624c1923024154defeb9cabef4a9c27"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3624c1923024154defeb9cabef4a9c27","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","requestID":"3624c1923024154defeb9cabef4a9c27"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd3c27b4-9981-47a8-8933-14cec699150c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.4741323} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404317,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f338d1e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f338d1e0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.605303,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3624c1923024154defeb9cabef4a9c27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3624c1923024154defeb9cabef4a9c27","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f338d1e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling 200 8ms","method":"POST","requestID":"f338d1e0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3624c1923024154defeb9cabef4a9c27"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","requestID":"3624c1923024154defeb9cabef4a9c27"} experiment-1 | {"level":"info","message":"GET /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2 200 34ms","method":"GET","requestID":"3624c1923024154defeb9cabef4a9c27","responseTime":34,"status":200,"url":"/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c","level":"info","message":"auth send jwt","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.30797,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Attempting to finish experiment","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f340c120-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.699087,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f340c120-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f340c120-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","device":"d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037","device":"535d1855-3c44-4b42-9df3-9bd952f1de7e","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/2848ee78-7c4b-4002-9f38-24bcc1ebd037' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2848ee78-7c4b-4002-9f38-24bcc1ebd037","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c15d48685c486389040f5f68a0acfaf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c15d48685c486389040f5f68a0acfaf4","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2848ee78-7c4b-4002-9f38-24bcc1ebd037': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2848ee78-7c4b-4002-9f38-24bcc1ebd037","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"0e0f7d46-c1dd-472f-b89d-60cac40f493e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.5609841} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1dfcc6ca-07f1-4aaa-887e-8424f5c3a3b2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.5611472} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66b4decb9d7fed17050ea63471b31ee1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66b4decb9d7fed17050ea63471b31ee1","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/535d1855-3c44-4b42-9df3-9bd952f1de7e"},{"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/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037"}}},"level":"info","message":"received a callback","requestID":"c15d48685c486389040f5f68a0acfaf4"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"f340c120-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/535d1855-3c44-4b42-9df3-9bd952f1de7e"},{"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/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037"}}},"level":"info","message":"received a callback","requestID":"66b4decb9d7fed17050ea63471b31ee1"} device-1 | {"data":{"peerconnection":"2848ee78-7c4b-4002-9f38-24bcc1ebd037","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f340c120-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037 204 80ms","method":"DELETE","requestID":"f340c120-097b-11f0-96bb-59c96fe0af16","responseTime":80,"status":204,"url":"/peerconnections/2848ee78-7c4b-4002-9f38-24bcc1ebd037"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"},"level":"info","message":"Successfully finished experiment","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f34ef1f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535d1855-3c44-4b42-9df3-9bd952f1de7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46f14485-e3b4-4a11-91ae-dee6a66aaa69","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.6195679} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.332447,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f34ef1f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f34ef1f0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f34ef1f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling 200 8ms","method":"POST","requestID":"f34ef1f0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f3542210-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2309911d-1b56-4a29-a2a7-ca895c0216b2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2309911d-1b56-4a29-a2a7-ca895c0216b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"267c3a7e-5f2b-4615-bb10-de5276d14b03","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.6503785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cce731eb-716d-4dbe-b2fd-7324936b727d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.6506302} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"197b5709-727b-4638-a6d4-0a4e3576c28a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.6529584} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.370563,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f3542210-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114","object_type":"device","rebac_allow":false,"scope_allow":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":"f3542210-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f3542210-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling 200 9ms","method":"POST","requestID":"f3542210-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e"} experiment-1 | {"level":"info","message":"DELETE /experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2 204 236ms","method":"DELETE","requestID":"0bc7b8ad580ddf1dcbec0e28fe3cb88e","responseTime":236,"status":204,"url":"/experiments/2309911d-1b56-4a29-a2a7-ca895c0216b2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"c15d48685c486389040f5f68a0acfaf4","responseTime":188,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"66b4decb9d7fed17050ea63471b31ee1","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"c15d48685c486389040f5f68a0acfaf4"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"66b4decb9d7fed17050ea63471b31ee1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c","level":"info","message":"auth send jwt","requestID":"e7adac9c7e8f6376fd44820d18eff930"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e7adac9c7e8f6376fd44820d18eff930","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e7adac9c7e8f6376fd44820d18eff930"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/535d1855-3c44-4b42-9df3-9bd952f1de7e' closed"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2576","request_time":"0.852","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d118de7cf80a0a2f8434995b84424f4c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.843276,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.842","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2688df61b025651d322d9f56f70a651b"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e7adac9c7e8f6376fd44820d18eff930","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7adac9c7e8f6376fd44820d18eff930","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/d0ab8da4-3f3d-48c5-ba09-ca2dbc1a3114' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"651d61f7-ad6c-47fa-921d-eed72c17a84b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.7983825} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e7adac9c7e8f6376fd44820d18eff930","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fbf00af-4531-4edd-b463-16192b9da17e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.8025563} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"e7adac9c7e8f6376fd44820d18eff930","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"45443ae1-8e38-415c-b3fb-aa2b5e200210","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.81186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2d784c0-4ff3-4deb-8037-fda0e24124b6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.812019} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"e7adac9c7e8f6376fd44820d18eff930","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.811840872Z"}]},"request_id":"2bd062cf-2a95-4c7e-b6c1-ba2e84e2f6ce","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.81556} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e7adac9c7e8f6376fd44820d18eff930","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e7adac9c7e8f6376fd44820d18eff930"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7adac9c7e8f6376fd44820d18eff930"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"e7adac9c7e8f6376fd44820d18eff930","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c","level":"info","message":"auth send jwt","requestID":"a5833177bcb497d1f7086d8b5d3a49fd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a5833177bcb497d1f7086d8b5d3a49fd"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.678323,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a5833177bcb497d1f7086d8b5d3a49fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908841,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0MX0.ypjGigoVPKYmcefnAsKMFLBw4K81lr1joTbNRdF937c"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2f668c0b-6ccc-45ed-82d1-74b745d4db2e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.8601542} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efdc9005-dce2-4d8d-9876-de7096ba615c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.8638697} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b46ddf48-2790-4195-8ba4-8e47cda5aa7b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.8962636} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f4ac834-d8e5-46c2-b98d-7e4e8e769baa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.8964772} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"72585500-b9ae-43f5-85c9-e21c5c28d281","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908841.9001706} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a5833177bcb497d1f7086d8b5d3a49fd"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5833177bcb497d1f7086d8b5d3a49fd"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"a5833177bcb497d1f7086d8b5d3a49fd","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Mn0.w2qiAsc_zoYm5ZFtbsS8_rT3xn25URyB1m69e_udkdk","level":"info","message":"auth send jwt","requestID":"36b26c104b8bd4b834e0863b9c07cd95"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36b26c104b8bd4b834e0863b9c07cd95","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"36b26c104b8bd4b834e0863b9c07cd95"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.911101,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"36b26c104b8bd4b834e0863b9c07cd95","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908842,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Mn0.w2qiAsc_zoYm5ZFtbsS8_rT3xn25URyB1m69e_udkdk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"36b26c104b8bd4b834e0863b9c07cd95","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"607aae49-01ff-4548-9975-d5bba51e990d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908842.8065057} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"36b26c104b8bd4b834e0863b9c07cd95","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1a7aec0-13b2-4509-b213-681851208aa3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908842.8103833} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"36b26c104b8bd4b834e0863b9c07cd95","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"f82ba0da-16a0-4b47-8616-27476f559b61","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908842.8232095} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"36b26c104b8bd4b834e0863b9c07cd95","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"36b26c104b8bd4b834e0863b9c07cd95"} gateway-1 | {"time_local":"25/Mar/2025:13:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.079","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"36b26c104b8bd4b834e0863b9c07cd95"} device-1 | {"level":"info","message":"PATCH /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92 200 75ms","method":"PATCH","requestID":"36b26c104b8bd4b834e0863b9c07cd95","responseTime":75,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Mn0.w2qiAsc_zoYm5ZFtbsS8_rT3xn25URyB1m69e_udkdk","level":"info","message":"auth send jwt","requestID":"a8ea8ec76ad5b861b4c8691683870f4e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a8ea8ec76ad5b861b4c8691683870f4e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a8ea8ec76ad5b861b4c8691683870f4e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631758,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a8ea8ec76ad5b861b4c8691683870f4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908842,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Mn0.w2qiAsc_zoYm5ZFtbsS8_rT3xn25URyB1m69e_udkdk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a8ea8ec76ad5b861b4c8691683870f4e","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a8ea8ec76ad5b861b4c8691683870f4e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/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.14","requestID":"a8ea8ec76ad5b861b4c8691683870f4e"} device-1 | {"level":"info","message":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/websocket 200 13ms","method":"POST","requestID":"a8ea8ec76ad5b861b4c8691683870f4e","responseTime":13,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ce8bb761e973e95a0dc37bc3e77f5de0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ce8bb761e973e95a0dc37bc3e77f5de0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/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":"ce8bb761e973e95a0dc37bc3e77f5de0"} device-1 | {"level":"info","message":"OPTIONS /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/websocket 200 1ms","method":"OPTIONS","requestID":"ce8bb761e973e95a0dc37bc3e77f5de0","responseTime":1,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE","level":"info","message":"auth send jwt","requestID":"757c8a84bacf509e60436c54e4032560"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"757c8a84bacf509e60436c54e4032560","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"757c8a84bacf509e60436c54e4032560"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171872,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"757c8a84bacf509e60436c54e4032560","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"757c8a84bacf509e60436c54e4032560","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"757c8a84bacf509e60436c54e4032560"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"757c8a84bacf509e60436c54e4032560"} device-1 | {"level":"info","message":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/websocket 200 20ms","method":"POST","requestID":"757c8a84bacf509e60436c54e4032560","responseTime":20,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE","level":"info","message":"auth send jwt","requestID":"717ceefcd2c35ccccfdf00836133399b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"717ceefcd2c35ccccfdf00836133399b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"717ceefcd2c35ccccfdf00836133399b"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970049,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"717ceefcd2c35ccccfdf00836133399b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"717ceefcd2c35ccccfdf00836133399b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.811840872Z"}]},"request_id":"62bb4154-a0ba-4b32-a83b-bd383af83b18","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.2465396} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"717ceefcd2c35ccccfdf00836133399b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"717ceefcd2c35ccccfdf00836133399b"} device-1 | {"level":"info","message":"GET /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce? 200 9ms","method":"GET","requestID":"717ceefcd2c35ccccfdf00836133399b","responseTime":9,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce? 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":"717ceefcd2c35ccccfdf00836133399b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE","level":"info","message":"auth send jwt","requestID":"785c24220636926fa2e213e87bcddd85"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"785c24220636926fa2e213e87bcddd85","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"785c24220636926fa2e213e87bcddd85"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894546,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"785c24220636926fa2e213e87bcddd85","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"785c24220636926fa2e213e87bcddd85","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"58d95e5e-318c-4859-8424-44ead54506f9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.2616308} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"785c24220636926fa2e213e87bcddd85","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"785c24220636926fa2e213e87bcddd85"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92? 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":"785c24220636926fa2e213e87bcddd85"} device-1 | {"level":"info","message":"GET /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92? 200 12ms","method":"GET","requestID":"785c24220636926fa2e213e87bcddd85","responseTime":12,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE","level":"info","message":"auth send jwt","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03f8738caeac31ac85f3b0d97b18eb2b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.660381,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"03f8738caeac31ac85f3b0d97b18eb2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"03f8738caeac31ac85f3b0d97b18eb2b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to run experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to book experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully booked experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4e8a4c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4e8cbd0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.084017,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4e8a4c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4e8a4c0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34224,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4e8cbd0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4e8cbd0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.811840872Z"}]},"request_id":"732cc1b6-9157-4f96-91c0-58c5290b09f0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.3079078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4e8a4c0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"37cc216d-3588-4aaa-b900-6a4a8ecf7db8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.3085427} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f4e8cbd0-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4e8a4c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce? 200 12ms","method":"GET","requestID":"f4e8a4c0-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4e8cbd0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92? 200 11ms","method":"GET","requestID":"f4e8cbd0-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Setting up experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully set up experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4f59d10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4f5c420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4f5eb30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44368","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956478,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully running experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626348,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4f59d10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4f59d10-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4f5c420-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4f5c420-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20: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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"5279cfe9-611d-4bb7-8081-6d54821acf57","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.3951685} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d71a953b-948c-4433-8730-9a74249492ca","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.395447} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4f5c420-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.811840872Z"}]},"request_id":"cf3298b9-e27f-4665-b974-420dedf33e62","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.3962522} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.797135,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4f5eb30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","rebac_allow":false,"scope_allow":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":"f4f5eb30-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4f59d10-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4f5c420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92? 200 17ms","method":"GET","requestID":"f4f5c420-097b-11f0-96bb-59c96fe0af16","responseTime":17,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F84d73149-54e6-499c-97d4-ba381dc3f4f8#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F84d73149-54e6-499c-97d4-ba381dc3f4f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"0c373b0c-b020-402b-9cb8-b8d4f0159f65","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4041078} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4760b11c-1f01-4682-87c4-207f679f1bac","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4043033} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4f5eb30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling 200 18ms","method":"POST","requestID":"f4f5eb30-097b-11f0-96bb-59c96fe0af16","responseTime":18,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4f59d10-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"03f8738caeac31ac85f3b0d97b18eb2b","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce? 200 21ms","method":"GET","requestID":"f4f59d10-097b-11f0-96bb-59c96fe0af16","responseTime":21,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4f8f870-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4fd3e30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04459a54-5c12-4f3b-84b2-e4842dcbe799","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4364583} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623444,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4f8f870-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","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 169ms","method":"POST","requestID":"03f8738caeac31ac85f3b0d97b18eb2b","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f4f8f870-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0c3b7ea-b11b-4588-8d81-b647f422e145","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4401028} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.764225,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4fd3e30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","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":"f4f8f870-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4fd3e30-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling 200 35ms","method":"POST","requestID":"f4f8f870-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE","level":"info","message":"auth send jwt","requestID":"ae3e21885bbd429624c94a137d94d6af"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae3e21885bbd429624c94a137d94d6af","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae3e21885bbd429624c94a137d94d6af"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4fd3e30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling 200 10ms","method":"POST","requestID":"f4fd3e30-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711089,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ae3e21885bbd429624c94a137d94d6af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ae3e21885bbd429624c94a137d94d6af","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4ff12f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20: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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.811840872Z"}]},"request_id":"bd389e8c-b01f-4395-bcf8-54e75c91bbbf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4511333} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da75814e-c103-44d0-ab4f-6f416110bf05","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4512408} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ae3e21885bbd429624c94a137d94d6af","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.195957,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4ff12f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4ff12f0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae3e21885bbd429624c94a137d94d6af"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae3e21885bbd429624c94a137d94d6af"} device-1 | {"level":"info","message":"GET /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce? 200 11ms","method":"GET","requestID":"ae3e21885bbd429624c94a137d94d6af","responseTime":11,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4ff12f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling 200 8ms","method":"POST","requestID":"f4ff12f0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Building connection plan","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} 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":"3a875648-8374-41d0-baa5-aa98462cc4e6"},{"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":"c67eebb8-c5c4-4283-b6a2-41e1d2f4f597"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"842a293f-6cab-4443-a2be-2af36e1be215"}]},"level":"info","message":"Built pairwise service configurations","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} 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/ce617cc3-a694-47bb-a396-8f5a586d20ce"},{"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/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE","level":"info","message":"auth send jwt","requestID":"ed3cf965e5baff4232141d66f09652f9"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed3cf965e5baff4232141d66f09652f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed3cf965e5baff4232141d66f09652f9"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.081036,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927978,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ed3cf965e5baff4232141d66f09652f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908844,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0NH0.XaLstwjyVs4m8B4oogzKec842Cm6yJsGakkZKfkI9rE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed3cf965e5baff4232141d66f09652f9","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:41.896245518Z"}]},"request_id":"696e852f-a19a-4607-a0c7-e5422dd0cd92","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4906332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ed3cf965e5baff4232141d66f09652f9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed3cf965e5baff4232141d66f09652f9"} gateway-1 | {"time_local":"25/Mar/2025:13:20:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92? 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":"ed3cf965e5baff4232141d66f09652f9"} device-1 | {"level":"info","message":"GET /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92? 200 10ms","method":"GET","requestID":"ed3cf965e5baff4232141d66f09652f9","responseTime":10,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7613a233-32af-422d-8c5e-e67e30d725ef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4942784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81490afd-8218-4cd0-b74d-210f2ac73b6d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.4945874} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304'","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304'","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} 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":"f5046a20-097b-11f0-96bb-59c96fe0af16","responseTime":24,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f5046a20-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304","device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","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/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"03f8738caeac31ac85f3b0d97b18eb2b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f50f1880-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efb16808-e7f9-41e1-a5fd-fed514913ef6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.5800798} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.388073,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f50f1880-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","rebac_allow":false,"scope_allow":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":"f50f1880-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f50f1880-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling 200 31ms","method":"POST","requestID":"f50f1880-097b-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f5142190-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afbfbf47-1786-4907-b966-4dc2900de1f1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908844.5891373} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.599926,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f5142190-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f5142190-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f5142190-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling 200 8ms","method":"POST","requestID":"f5142190-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling"} device-1 | {"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"7232cbdc-4d85-492d-b4c5-1c50eebf1304","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2741216038907485212 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:457H\r\na=ice-pwd:YSJxZIIFSvTjcYVkIw9Wzeeo\r\na=ice-options:trickle\r\na=fingerprint:sha-256 77:52:47:F9:16:13:F1:3B:84:02:6F:DA:C4:D4:C8:2E:7E:12:84:FF:7D:BE:EE:52:F6:65:8D:D6:A9:A1:6D:95\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2191273111 1 udp 2113937151 cda37b82-af41-4356-9494-277494fbd58f.local 43652 typ host generation 0 ufrag 457H network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","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/7232cbdc-4d85-492d-b4c5-1c50eebf1304' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7232cbdc-4d85-492d-b4c5-1c50eebf1304","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c56375191975e199f72c46fcee6a658","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.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 0ms","method":"GET","requestID":"4c56375191975e199f72c46fcee6a658","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce"},{"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/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304"}}},"level":"info","message":"received a callback","requestID":"4c56375191975e199f72c46fcee6a658"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4c56375191975e199f72c46fcee6a658","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c56375191975e199f72c46fcee6a658"} device-1 | {"data":{"peerconnection":"7232cbdc-4d85-492d-b4c5-1c50eebf1304","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"7232cbdc-4d85-492d-b4c5-1c50eebf1304","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/7232cbdc-4d85-492d-b4c5-1c50eebf1304' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7232cbdc-4d85-492d-b4c5-1c50eebf1304","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dd7dd81739ed984d522f3c6388e99e53","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dd7dd81739ed984d522f3c6388e99e53","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/ce617cc3-a694-47bb-a396-8f5a586d20ce"},{"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/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304"}}},"level":"info","message":"received a callback","requestID":"dd7dd81739ed984d522f3c6388e99e53"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f64c5370-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7232cbdc-4d85-492d-b4c5-1c50eebf1304","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ed0f563-c538-4ba6-a26e-b42d1086751a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.6355011} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.180773,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f64c5370-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304","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":"f64c5370-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f64c5370-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304 200 8ms","method":"GET","requestID":"f64c5370-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"dd7dd81739ed984d522f3c6388e99e53","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd7dd81739ed984d522f3c6388e99e53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f64f87c0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5011126-38e9-4cac-99b2-eba567538613","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.6557903} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.075084,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f64f87c0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","rebac_allow":false,"scope_allow":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":"f64f87c0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f64f87c0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling 200 7ms","method":"POST","requestID":"f64f87c0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f650e750-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72d2b9f6-753d-486a-8c61-700a0652c278","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.6891038} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.525474,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f650e750-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","rebac_allow":false,"scope_allow":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":"f650e750-097b-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f650e750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling 200 32ms","method":"POST","requestID":"f650e750-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk","level":"info","message":"auth send jwt","requestID":"51c60cf2d263ecda0e4beefa4520f6eb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51c60cf2d263ecda0e4beefa4520f6eb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","requestID":"51c60cf2d263ecda0e4beefa4520f6eb"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.410926,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"51c60cf2d263ecda0e4beefa4520f6eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908846,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"51c60cf2d263ecda0e4beefa4520f6eb","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","requestID":"51c60cf2d263ecda0e4beefa4520f6eb"} gateway-1 | {"time_local":"25/Mar/2025:13:20:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51c60cf2d263ecda0e4beefa4520f6eb"} experiment-1 | {"level":"info","message":"GET /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8 200 10ms","method":"GET","requestID":"51c60cf2d263ecda0e4beefa4520f6eb","responseTime":10,"status":200,"url":"/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk","level":"info","message":"auth send jwt","requestID":"1827b43bf021ec0fef6aac910761a45f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1827b43bf021ec0fef6aac910761a45f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","requestID":"1827b43bf021ec0fef6aac910761a45f"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.77685,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1827b43bf021ec0fef6aac910761a45f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908846,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1827b43bf021ec0fef6aac910761a45f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Attempting to finish experiment","requestID":"1827b43bf021ec0fef6aac910761a45f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f6644840-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.71594,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f6644840-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908846,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f6644840-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304","device":"ce617cc3-a694-47bb-a396-8f5a586d20ce","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/7232cbdc-4d85-492d-b4c5-1c50eebf1304' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7232cbdc-4d85-492d-b4c5-1c50eebf1304","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7232cbdc-4d85-492d-b4c5-1c50eebf1304': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7232cbdc-4d85-492d-b4c5-1c50eebf1304","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"3c5e9004-b962-410a-9d00-e3de44a3e052","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.8013277} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85468b89-2eea-41ca-83f3-d6ccf2046bfb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.801599} 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/ce617cc3-a694-47bb-a396-8f5a586d20ce"},{"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/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304"}}},"level":"info","message":"received a callback","requestID":"3d6184900164deeda707644150ceccf7"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"f6644840-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d6184900164deeda707644150ceccf7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d6184900164deeda707644150ceccf7","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a5115baab57565c82446bc8ed02f1d99","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a5115baab57565c82446bc8ed02f1d99","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce"},{"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/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304"}}},"level":"info","message":"received a callback","requestID":"a5115baab57565c82446bc8ed02f1d99"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f6644840-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304 204 50ms","method":"DELETE","requestID":"f6644840-097b-11f0-96bb-59c96fe0af16","responseTime":50,"status":204,"url":"/peerconnections/7232cbdc-4d85-492d-b4c5-1c50eebf1304"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"},"level":"info","message":"Successfully finished experiment","requestID":"1827b43bf021ec0fef6aac910761a45f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f66e3350-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce617cc3-a694-47bb-a396-8f5a586d20ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6818edb-e838-4343-87a1-db350c06cd90","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.8825366} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.379662,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f66e3350-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce","object_type":"device","rebac_allow":false,"scope_allow":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":"f66e3350-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f66e3350-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling 200 33ms","method":"POST","requestID":"f66e3350-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F84d73149-54e6-499c-97d4-ba381dc3f4f8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F84d73149-54e6-499c-97d4-ba381dc3f4f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"d7bb4cab-47ef-4eb7-a052-8ebe23d78dfc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.8866367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa46bd76-aa68-45c1-8dc4-0d14a74b11d7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.8868833} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"1827b43bf021ec0fef6aac910761a45f","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6738a80-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2aacf8c-42fb-4122-bd00-2eab1fbe5a92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01930187-c96b-4b02-8a69-09ca010e58be","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908846.8924484} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214341,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f6738a80-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6738a80-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6738a80-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling 200 8ms","method":"POST","requestID":"f6738a80-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8","requestID":"1827b43bf021ec0fef6aac910761a45f"} gateway-1 | {"time_local":"25/Mar/2025:13:20:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1827b43bf021ec0fef6aac910761a45f"} experiment-1 | {"level":"info","message":"DELETE /experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8 204 228ms","method":"DELETE","requestID":"1827b43bf021ec0fef6aac910761a45f","responseTime":228,"status":204,"url":"/experiments/84d73149-54e6-499c-97d4-ba381dc3f4f8"} gateway-1 | {"time_local":"25/Mar/2025:13:20:46 +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.115","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"20f295cc733b658f693b03be5d4d54a3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 181ms","method":"POST","requestID":"3d6184900164deeda707644150ceccf7","responseTime":181,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d6184900164deeda707644150ceccf7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 179ms","method":"POST","requestID":"a5115baab57565c82446bc8ed02f1d99","responseTime":179,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"a5115baab57565c82446bc8ed02f1d99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk","level":"info","message":"auth send jwt","requestID":"969bec13bc6d1e999a31ea0413bd5650"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"969bec13bc6d1e999a31ea0413bd5650","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"969bec13bc6d1e999a31ea0413bd5650"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713565,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:46Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.770","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f082c6368b512e877214cad03646ec8e"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"969bec13bc6d1e999a31ea0413bd5650","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908846,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0Nn0.5oh0QHRXmZ15D-mLNZg9R-B5hrTnAKGdfY7O108-Vjk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"969bec13bc6d1e999a31ea0413bd5650","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b2aacf8c-42fb-4122-bd00-2eab1fbe5a92' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b38bab7c-88dc-4acd-bcfc-043362245a80","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0304728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"969bec13bc6d1e999a31ea0413bd5650","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0db08925-1411-43ea-8b00-0c11071f52ec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.034561} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"969bec13bc6d1e999a31ea0413bd5650","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ce617cc3-a694-47bb-a396-8f5a586d20ce' closed"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"bc366b32-307d-4a6c-9cd6-b0f11086ed7c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0447907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9d61e7f-6a2c-440b-8e98-c9bb5b412fac","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.044936} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"969bec13bc6d1e999a31ea0413bd5650","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.044738525Z"}]},"request_id":"3ec8813a-6e29-4186-94f1-bc3f2928899f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0491693} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"969bec13bc6d1e999a31ea0413bd5650","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"969bec13bc6d1e999a31ea0413bd5650"} gateway-1 | {"time_local":"25/Mar/2025:13:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"969bec13bc6d1e999a31ea0413bd5650"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"969bec13bc6d1e999a31ea0413bd5650","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0N30.LYdaT6eE6x1xnKFwl8Pv3N7pFD9dZEJ_jEtxBwFbsMM","level":"info","message":"auth send jwt","requestID":"25e9a8d6f556490c648e9517f7b04cc0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"25e9a8d6f556490c648e9517f7b04cc0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"25e9a8d6f556490c648e9517f7b04cc0"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694524,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"25e9a8d6f556490c648e9517f7b04cc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908847,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0N30.LYdaT6eE6x1xnKFwl8Pv3N7pFD9dZEJ_jEtxBwFbsMM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"25e9a8d6f556490c648e9517f7b04cc0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"936ba214-7a3e-4f34-8797-a2ab61a4a98a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.071541} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"25e9a8d6f556490c648e9517f7b04cc0","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d76b2de6-db9d-4c89-9c5e-48b4da1d74aa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0759676} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"25e9a8d6f556490c648e9517f7b04cc0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"8e03cea3-5b22-4e47-b2e8-cd0099676105","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0847397} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5295b58f-88a1-4d6b-8679-1a2b093abd73","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0849018} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"25e9a8d6f556490c648e9517f7b04cc0","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"f5a49ca1-8219-47d0-a355-c60f9e705d45","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.0880456} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"25e9a8d6f556490c648e9517f7b04cc0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"25e9a8d6f556490c648e9517f7b04cc0"} gateway-1 | {"time_local":"25/Mar/2025:13:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25e9a8d6f556490c648e9517f7b04cc0"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"25e9a8d6f556490c648e9517f7b04cc0","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0N30.LYdaT6eE6x1xnKFwl8Pv3N7pFD9dZEJ_jEtxBwFbsMM","level":"info","message":"auth send jwt","requestID":"5b66e7dfbf77cf850e2f409f0435dd14"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b66e7dfbf77cf850e2f409f0435dd14","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5b66e7dfbf77cf850e2f409f0435dd14"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658963,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5b66e7dfbf77cf850e2f409f0435dd14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908847,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0N30.LYdaT6eE6x1xnKFwl8Pv3N7pFD9dZEJ_jEtxBwFbsMM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5b66e7dfbf77cf850e2f409f0435dd14","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"b3311c12-187b-4aae-ae97-4a7373eb36f1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.9498668} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5b66e7dfbf77cf850e2f409f0435dd14","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a4d4b91-e5d7-4885-bfc4-1bf8b9ddf882","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.9537861} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"5b66e7dfbf77cf850e2f409f0435dd14","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"2ba100af-8271-4d59-8032-bd866553b065","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908847.9863186} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5b66e7dfbf77cf850e2f409f0435dd14","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5b66e7dfbf77cf850e2f409f0435dd14"} device-1 | {"level":"info","message":"PATCH /devices/c4ba3739-437a-4381-9943-baa07d6a5674 200 46ms","method":"PATCH","requestID":"5b66e7dfbf77cf850e2f409f0435dd14","responseTime":46,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674"} gateway-1 | {"time_local":"25/Mar/2025:13:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c4ba3739-437a-4381-9943-baa07d6a5674 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"5b66e7dfbf77cf850e2f409f0435dd14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0N30.LYdaT6eE6x1xnKFwl8Pv3N7pFD9dZEJ_jEtxBwFbsMM","level":"info","message":"auth send jwt","requestID":"26b5946890cfbb4d873e43a61b193bb6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"26b5946890cfbb4d873e43a61b193bb6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"26b5946890cfbb4d873e43a61b193bb6"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261353,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"26b5946890cfbb4d873e43a61b193bb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908847,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0N30.LYdaT6eE6x1xnKFwl8Pv3N7pFD9dZEJ_jEtxBwFbsMM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"26b5946890cfbb4d873e43a61b193bb6","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"26b5946890cfbb4d873e43a61b193bb6"} device-1 | {"level":"info","message":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/websocket 200 14ms","method":"POST","requestID":"26b5946890cfbb4d873e43a61b193bb6","responseTime":14,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/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.14","requestID":"26b5946890cfbb4d873e43a61b193bb6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"39456aa1adb19713ad304a56888d350c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"39456aa1adb19713ad304a56888d350c","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/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":"39456aa1adb19713ad304a56888d350c"} device-1 | {"level":"info","message":"OPTIONS /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/websocket 200 1ms","method":"OPTIONS","requestID":"39456aa1adb19713ad304a56888d350c","responseTime":1,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo","level":"info","message":"auth send jwt","requestID":"f8126188c0fe5c1e94a5e0193ad30361"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8126188c0fe5c1e94a5e0193ad30361","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f8126188c0fe5c1e94a5e0193ad30361"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172432,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f8126188c0fe5c1e94a5e0193ad30361","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8126188c0fe5c1e94a5e0193ad30361","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f8126188c0fe5c1e94a5e0193ad30361"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f8126188c0fe5c1e94a5e0193ad30361"} device-1 | {"level":"info","message":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/websocket 200 18ms","method":"POST","requestID":"f8126188c0fe5c1e94a5e0193ad30361","responseTime":18,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo","level":"info","message":"auth send jwt","requestID":"425de23db20697227f58a7854d55132d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"425de23db20697227f58a7854d55132d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"425de23db20697227f58a7854d55132d"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70583,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"425de23db20697227f58a7854d55132d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"425de23db20697227f58a7854d55132d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.044738525Z"}]},"request_id":"eb812977-8390-4184-92b5-43bdba6347ae","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.2849054} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"425de23db20697227f58a7854d55132d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"425de23db20697227f58a7854d55132d"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"425de23db20697227f58a7854d55132d"} device-1 | {"level":"info","message":"GET /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787? 200 12ms","method":"GET","requestID":"425de23db20697227f58a7854d55132d","responseTime":12,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo","level":"info","message":"auth send jwt","requestID":"93e4e72bc0ad35b2869e2f177df72f49"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"93e4e72bc0ad35b2869e2f177df72f49","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93e4e72bc0ad35b2869e2f177df72f49"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704221,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"93e4e72bc0ad35b2869e2f177df72f49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"93e4e72bc0ad35b2869e2f177df72f49","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"03a7b6a3-0ce7-4170-9fb5-38b7ecc37e9d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.300265} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93e4e72bc0ad35b2869e2f177df72f49","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93e4e72bc0ad35b2869e2f177df72f49"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c4ba3739-437a-4381-9943-baa07d6a5674? 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":"93e4e72bc0ad35b2869e2f177df72f49"} device-1 | {"level":"info","message":"GET /devices/c4ba3739-437a-4381-9943-baa07d6a5674? 200 11ms","method":"GET","requestID":"93e4e72bc0ad35b2869e2f177df72f49","responseTime":11,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo","level":"info","message":"auth send jwt","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6006ee7f4d3ca8e2d4069cad041fad38","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.976601,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6006ee7f4d3ca8e2d4069cad041fad38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6006ee7f4d3ca8e2d4069cad041fad38","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to run experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to book experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully booked experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7ea24f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7ea7310-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955223,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f7ea24f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7ea24f0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657444,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f7ea7310-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7ea7310-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.044738525Z"}]},"request_id":"9ce36be6-ba0b-4efd-bae3-eb502a4d87a9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.3509088} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f7ea24f0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"3ed3c9c9-e397-4eee-b3ba-a584eea09407","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.3515558} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f7ea7310-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7ea24f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787? 200 36ms","method":"GET","requestID":"f7ea24f0-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7ea7310-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/c4ba3739-437a-4381-9943-baa07d6a5674? 200 34ms","method":"GET","requestID":"f7ea7310-097b-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Setting up experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully set up experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7fe2220-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7fe4930-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully running experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f7fe9750-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951078,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f7fe2220-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7fe2220-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.551323,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f7fe4930-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f7fe4930-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ff2b10b-b176-4e80-8480-d259685980d7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.483859} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.664172,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f7fe9750-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f7fe9750-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.044738525Z"}]},"request_id":"8c9a5ec3-ca82-467b-a20f-8cdbd6d26e2c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.4852874} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"79f3d571-f854-4dc3-bf55-6869224b52cb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.486574} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f7fe2220-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f7fe4930-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3eee4342-410d-4369-a5d3-4ea6a503c256#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3eee4342-410d-4369-a5d3-4ea6a503c256","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fdedae66-3226-4363-a730-dce958da87f0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.4913192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c36563d-d165-4614-a207-abe3aeab9814","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.4916968} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"6006ee7f4d3ca8e2d4069cad041fad38","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f7fe9750-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling 200 16ms","method":"POST","requestID":"f7fe9750-097b-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7fe2220-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787? 200 19ms","method":"GET","requestID":"f7fe2220-097b-11f0-96bb-59c96fe0af16","responseTime":19,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7fe4930-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/c4ba3739-437a-4381-9943-baa07d6a5674? 200 19ms","method":"GET","requestID":"f7fe4930-097b-11f0-96bb-59c96fe0af16","responseTime":19,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8054e10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8059c30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"level":"info","message":"POST /experiments? 201 214ms","method":"POST","requestID":"6006ee7f4d3ca8e2d4069cad041fad38","responseTime":214,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.219","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75dc0764-f046-451f-b524-c42001576d2d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5254366} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo","level":"info","message":"auth send jwt","requestID":"c08f84c08eda451f9ab2155a1100023a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c08f84c08eda451f9ab2155a1100023a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.518154,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dbc59d2-b227-4e01-aaf0-ae33eb480b2f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5292692} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f8054e10-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","rebac_allow":false,"scope_allow":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":"f8054e10-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.434188,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f8059c30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","rebac_allow":false,"scope_allow":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":"f8059c30-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c08f84c08eda451f9ab2155a1100023a"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8054e10-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling 200 15ms","method":"POST","requestID":"f8054e10-097b-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8059c30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.787625,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} device-1 | {"level":"info","message":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling 200 13ms","method":"POST","requestID":"f8059c30-097b-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c08f84c08eda451f9ab2155a1100023a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c08f84c08eda451f9ab2155a1100023a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8080d30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.044738525Z"}]},"request_id":"b4d83b0b-581b-4ea7-9f19-ad9701780419","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5408013} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c08f84c08eda451f9ab2155a1100023a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6874920a-1c76-49f1-ae3e-7a940aa726e8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5432537} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.237103,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787? 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":"c08f84c08eda451f9ab2155a1100023a"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f8080d30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","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":"c08f84c08eda451f9ab2155a1100023a"} device-1 | {"level":"info","message":"GET /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787? 200 36ms","method":"GET","requestID":"c08f84c08eda451f9ab2155a1100023a","responseTime":36,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8080d30-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f8080d30-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling 200 32ms","method":"POST","requestID":"f8080d30-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Building connection plan","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} 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":"bebab6e2-48c4-4ee3-8efb-2a2d2064abd4"},{"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":"d5d08cf6-39ee-42d5-91ce-c363ff032e3a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b95f41a2-97c0-49b4-8375-bcd61c3dfd13"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} 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/c4ba3739-437a-4381-9943-baa07d6a5674"},{"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/b9ecfb10-ee4f-43ce-a95a-ca39d342c787"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo","level":"info","message":"auth send jwt","requestID":"40f4db9c6a9f8bf534551873a82efce9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"40f4db9c6a9f8bf534551873a82efce9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40f4db9c6a9f8bf534551873a82efce9"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.624112,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586844,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"40f4db9c6a9f8bf534551873a82efce9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908849,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg0OX0.DAJGPE48aIOf-0RE7bru9UFbf80eEtTKLVUHwfyBeMo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40f4db9c6a9f8bf534551873a82efce9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:47.084713752Z"}]},"request_id":"eb2771e0-60ec-40da-b8ad-c6a11cb12307","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5831497} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"40f4db9c6a9f8bf534551873a82efce9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40f4db9c6a9f8bf534551873a82efce9"} gateway-1 | {"time_local":"25/Mar/2025:13:20:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c4ba3739-437a-4381-9943-baa07d6a5674? 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":"40f4db9c6a9f8bf534551873a82efce9"} device-1 | {"level":"info","message":"GET /devices/c4ba3739-437a-4381-9943-baa07d6a5674? 200 11ms","method":"GET","requestID":"40f4db9c6a9f8bf534551873a82efce9","responseTime":11,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fa83b270-16bd-444d-a5c1-bfcbb7d1b906","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5871496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec1e18cb-dbc6-4e7c-a274-5dec8966de44","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.5873954} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832'","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832'","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f80d6460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832","device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","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/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6006ee7f4d3ca8e2d4069cad041fad38"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f81b9530-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a762f63-997a-4141-aca7-9c7658dcb881","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.671494} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.384552,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f81b9530-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f81b9530-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f81b9530-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling 200 8ms","method":"POST","requestID":"f81b9530-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f81d1bd0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c49da04c-51ee-446c-82b7-aa3105d593e5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908849.681373} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.421817,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f81d1bd0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","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":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f81d1bd0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8268993646152766534 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:t8Kp\r\na=ice-pwd:9WFK82HkSj36zdF6XoXUW3cI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 16:B7:0B:EB:73:BA:F3:19:F4:07:67:9C:DF:18:C1:A1:90:A5:12:8A:76:36:0E:F6:33:C4:9F:8A:80:4B:B1:65\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f81d1bd0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling 200 36ms","method":"POST","requestID":"f81d1bd0-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787'"} device-1 | {"device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"1d3af5d8-08af-42b9-8fa3-d7c652707832","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/1d3af5d8-08af-42b9-8fa3-d7c652707832' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1d3af5d8-08af-42b9-8fa3-d7c652707832","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e8b9de5e44954d15e221f3f0ad7719a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e8b9de5e44954d15e221f3f0ad7719a3","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/c4ba3739-437a-4381-9943-baa07d6a5674"},{"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/b9ecfb10-ee4f-43ce-a95a-ca39d342c787"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832"}}},"level":"info","message":"received a callback","requestID":"e8b9de5e44954d15e221f3f0ad7719a3"} device-1 | {"content":{"candidate":"candidate:3897045635 1 udp 2113937151 c477d4db-869e-4eda-9629-bad00cb6a727.local 43957 typ host generation 0 ufrag t8Kp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"e8b9de5e44954d15e221f3f0ad7719a3","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8b9de5e44954d15e221f3f0ad7719a3"} device-1 | {"data":{"peerconnection":"1d3af5d8-08af-42b9-8fa3-d7c652707832","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"1d3af5d8-08af-42b9-8fa3-d7c652707832","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/1d3af5d8-08af-42b9-8fa3-d7c652707832' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1d3af5d8-08af-42b9-8fa3-d7c652707832","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a76f43e2ef26a2347d09048863391043","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a76f43e2ef26a2347d09048863391043","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/c4ba3739-437a-4381-9943-baa07d6a5674"},{"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/b9ecfb10-ee4f-43ce-a95a-ca39d342c787"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832"}}},"level":"info","message":"received a callback","requestID":"a76f43e2ef26a2347d09048863391043"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f9501d90-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d3af5d8-08af-42b9-8fa3-d7c652707832","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a1ef5a3-23d4-4c39-9bc1-5a01ff3f3894","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.6931906} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.306125,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f9501d90-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832","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":"f9501d90-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f9501d90-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832 200 7ms","method":"GET","requestID":"f9501d90-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"a76f43e2ef26a2347d09048863391043","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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":"a76f43e2ef26a2347d09048863391043"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f95797a0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c75431e-acd4-44cb-8d62-bc2185118ee6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.7427137} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.917565,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f95797a0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f95797a0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f95797a0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling 200 9ms","method":"POST","requestID":"f95797a0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9594550-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae645462-108b-46a0-aa09-3e19fac55ead","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.7776535} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.631316,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f9594550-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","rebac_allow":false,"scope_allow":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":"f9594550-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1MX0.KKnXgQIFCvmI5K5cN4DDKLQqcAWn9bfSTArrWpxJXtk","level":"info","message":"auth send jwt","requestID":"835766bbb768aaa5856d8eb6fc8803e4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"835766bbb768aaa5856d8eb6fc8803e4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9594550-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling 200 33ms","method":"POST","requestID":"f9594550-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","requestID":"835766bbb768aaa5856d8eb6fc8803e4"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.758949,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"835766bbb768aaa5856d8eb6fc8803e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908851,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1MX0.KKnXgQIFCvmI5K5cN4DDKLQqcAWn9bfSTArrWpxJXtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"835766bbb768aaa5856d8eb6fc8803e4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","requestID":"835766bbb768aaa5856d8eb6fc8803e4"} experiment-1 | {"level":"info","message":"GET /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256 200 9ms","method":"GET","requestID":"835766bbb768aaa5856d8eb6fc8803e4","responseTime":9,"status":200,"url":"/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"} gateway-1 | {"time_local":"25/Mar/2025:13:20:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"835766bbb768aaa5856d8eb6fc8803e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1MX0.KKnXgQIFCvmI5K5cN4DDKLQqcAWn9bfSTArrWpxJXtk","level":"info","message":"auth send jwt","requestID":"d6d69399463d6b64c576a9e1ea514f12"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d6d69399463d6b64c576a9e1ea514f12","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","requestID":"d6d69399463d6b64c576a9e1ea514f12"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.776569,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d6d69399463d6b64c576a9e1ea514f12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908851,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1MX0.KKnXgQIFCvmI5K5cN4DDKLQqcAWn9bfSTArrWpxJXtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d6d69399463d6b64c576a9e1ea514f12","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Attempting to finish experiment","requestID":"d6d69399463d6b64c576a9e1ea514f12"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f965a160-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.305819,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f965a160-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908851,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1MX0.KKnXgQIFCvmI5K5cN4DDKLQqcAWn9bfSTArrWpxJXtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f965a160-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832","device":"b9ecfb10-ee4f-43ce-a95a-ca39d342c787","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c4ba3739-437a-4381-9943-baa07d6a5674","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/1d3af5d8-08af-42b9-8fa3-d7c652707832' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1d3af5d8-08af-42b9-8fa3-d7c652707832","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d3af5d8-08af-42b9-8fa3-d7c652707832': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d3af5d8-08af-42b9-8fa3-d7c652707832","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"3ba2a1aa-cedc-43d9-87c4-1229e3882b0e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.8442123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7165d51e-2d44-4b4a-8245-b4da8e468f13","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.844526} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1325141bd94f62d4b1f63021dbae2d9b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1325141bd94f62d4b1f63021dbae2d9b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"f965a160-097b-11f0-96bb-59c96fe0af16","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/c4ba3739-437a-4381-9943-baa07d6a5674"},{"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/b9ecfb10-ee4f-43ce-a95a-ca39d342c787"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832"}}},"level":"info","message":"received a callback","requestID":"1325141bd94f62d4b1f63021dbae2d9b"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"00ac6428142c16d2ae4cfa279c3fdd60","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"00ac6428142c16d2ae4cfa279c3fdd60","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/c4ba3739-437a-4381-9943-baa07d6a5674"},{"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/b9ecfb10-ee4f-43ce-a95a-ca39d342c787"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832"}}},"level":"info","message":"received a callback","requestID":"00ac6428142c16d2ae4cfa279c3fdd60"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f965a160-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832 204 43ms","method":"DELETE","requestID":"f965a160-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":204,"url":"/peerconnections/1d3af5d8-08af-42b9-8fa3-d7c652707832"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"},"level":"info","message":"Successfully finished experiment","requestID":"d6d69399463d6b64c576a9e1ea514f12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f96e53f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4ba3739-437a-4381-9943-baa07d6a5674","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd757c77-6f37-4f7b-9fc5-b26e89aa17a8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.891582} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.588927,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f96e53f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f96e53f0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f96e53f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling 200 8ms","method":"POST","requestID":"f96e53f0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/c4ba3739-437a-4381-9943-baa07d6a5674/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9738410-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3eee4342-410d-4369-a5d3-4ea6a503c256': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3eee4342-410d-4369-a5d3-4ea6a503c256","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"60b07e74-efa4-4d29-adba-3c727b496eab","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.922542} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44be2a31-45a6-4d24-904e-f4569c713411","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.9227824} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"d6d69399463d6b64c576a9e1ea514f12","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9ecfb10-ee4f-43ce-a95a-ca39d342c787","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a80a5799-6bf8-4e09-9099-fbec4e04ac03","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908851.9251256} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.308272,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f9738410-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787","object_type":"device","rebac_allow":false,"scope_allow":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":"f9738410-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9738410-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling 200 7ms","method":"POST","requestID":"f9738410-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256","requestID":"d6d69399463d6b64c576a9e1ea514f12"} gateway-1 | {"time_local":"25/Mar/2025:13:20:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6d69399463d6b64c576a9e1ea514f12"} experiment-1 | {"level":"info","message":"DELETE /experiments/3eee4342-410d-4369-a5d3-4ea6a503c256 204 204ms","method":"DELETE","requestID":"d6d69399463d6b64c576a9e1ea514f12","responseTime":204,"status":204,"url":"/experiments/3eee4342-410d-4369-a5d3-4ea6a503c256"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"1325141bd94f62d4b1f63021dbae2d9b","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"1325141bd94f62d4b1f63021dbae2d9b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"00ac6428142c16d2ae4cfa279c3fdd60","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"3.996","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"21911840f456186771abc6450c883b1e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"00ac6428142c16d2ae4cfa279c3fdd60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Mn0.T22iOVUJF0jFMmQbzGotKxWydpjA8BJOYT7-n31h5xo","level":"info","message":"auth send jwt","requestID":"04bdc1df18b004a2578cbf02917dc9e3"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04bdc1df18b004a2578cbf02917dc9e3","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"04bdc1df18b004a2578cbf02917dc9e3"} gateway-1 | {"time_local":"25/Mar/2025:13:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2398","request_time":"2.761","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"35ea5320364ed08e05ef64857616485e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.853188,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"04bdc1df18b004a2578cbf02917dc9e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908852,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Mn0.T22iOVUJF0jFMmQbzGotKxWydpjA8BJOYT7-n31h5xo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04bdc1df18b004a2578cbf02917dc9e3","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c4ba3739-437a-4381-9943-baa07d6a5674' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b9ecfb10-ee4f-43ce-a95a-ca39d342c787' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"826fd6ae-540e-4d8d-9d0b-ca035148520c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.0460646} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04bdc1df18b004a2578cbf02917dc9e3","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8cddd3c-baf5-495a-87f4-5440174be598","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.0505874} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"04bdc1df18b004a2578cbf02917dc9e3","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"139ec5c1-4ff6-42e1-baf4-74acd42776b9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.0606556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2382ab68-036c-49e5-8499-a1020673dd86","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.0608468} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"04bdc1df18b004a2578cbf02917dc9e3","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"a8eb5764-72cf-4c7d-89eb-2b9e52218c47","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.0652628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04bdc1df18b004a2578cbf02917dc9e3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"04bdc1df18b004a2578cbf02917dc9e3"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04bdc1df18b004a2578cbf02917dc9e3"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"04bdc1df18b004a2578cbf02917dc9e3","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Mn0.T22iOVUJF0jFMmQbzGotKxWydpjA8BJOYT7-n31h5xo","level":"info","message":"auth send jwt","requestID":"eb122b1b7cbd6364729e02f0c969d588"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb122b1b7cbd6364729e02f0c969d588","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eb122b1b7cbd6364729e02f0c969d588"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.875363,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"eb122b1b7cbd6364729e02f0c969d588","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908852,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Mn0.T22iOVUJF0jFMmQbzGotKxWydpjA8BJOYT7-n31h5xo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eb122b1b7cbd6364729e02f0c969d588","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b22fcdb-b51f-4999-b33a-f1efe7f88dee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.0931692} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb122b1b7cbd6364729e02f0c969d588","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"162f81b1-a3f5-41fc-bff1-b49e6d44f020","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.097627} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"eb122b1b7cbd6364729e02f0c969d588","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"96834001-0f00-4cf3-83bd-5cd5f4262572","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.1082833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86d7ab8a-79f0-4f33-aa2a-947ecd4bb71b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.1083996} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"eb122b1b7cbd6364729e02f0c969d588","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.108261701Z"}]},"request_id":"6b2a3583-c431-4888-8f7b-0f4889f15a2c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908852.111687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb122b1b7cbd6364729e02f0c969d588","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eb122b1b7cbd6364729e02f0c969d588"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb122b1b7cbd6364729e02f0c969d588"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"eb122b1b7cbd6364729e02f0c969d588","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Mn0.T22iOVUJF0jFMmQbzGotKxWydpjA8BJOYT7-n31h5xo","level":"info","message":"auth send jwt","requestID":"be97d860be58168eda0984bdfe05814b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be97d860be58168eda0984bdfe05814b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"be97d860be58168eda0984bdfe05814b"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886249,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"be97d860be58168eda0984bdfe05814b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908852,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Mn0.T22iOVUJF0jFMmQbzGotKxWydpjA8BJOYT7-n31h5xo"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"be97d860be58168eda0984bdfe05814b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"a86be786-13db-41f2-b9b4-b3bbefdb92b8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908853.029202} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be97d860be58168eda0984bdfe05814b","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ef8e12e-3c39-48f1-9b36-c781edeaf48f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908853.0333514} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"be97d860be58168eda0984bdfe05814b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"80384819-bd6d-4e09-b9f7-96396e158739","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908853.043327} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"be97d860be58168eda0984bdfe05814b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"be97d860be58168eda0984bdfe05814b"} gateway-1 | {"time_local":"25/Mar/2025:13:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"be97d860be58168eda0984bdfe05814b"} device-1 | {"level":"info","message":"PATCH /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16 200 49ms","method":"PATCH","requestID":"be97d860be58168eda0984bdfe05814b","responseTime":49,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1M30.XRln6pfh4WOoreYQCyt5OL0dROeCE3BZm-gIO0RPnSM","level":"info","message":"auth send jwt","requestID":"4c0fc46597a14e34915694106cadd1ed"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"4c0fc46597a14e34915694106cadd1ed","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4c0fc46597a14e34915694106cadd1ed"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786927,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4c0fc46597a14e34915694106cadd1ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908853,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1M30.XRln6pfh4WOoreYQCyt5OL0dROeCE3BZm-gIO0RPnSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4c0fc46597a14e34915694106cadd1ed","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4c0fc46597a14e34915694106cadd1ed"} device-1 | {"level":"info","message":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/websocket 200 13ms","method":"POST","requestID":"4c0fc46597a14e34915694106cadd1ed","responseTime":13,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/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.14","requestID":"4c0fc46597a14e34915694106cadd1ed"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"940e5d0ff07a8c8ac67617b2abb65a1a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"940e5d0ff07a8c8ac67617b2abb65a1a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/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":"940e5d0ff07a8c8ac67617b2abb65a1a"} device-1 | {"level":"info","message":"OPTIONS /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/websocket 200 0ms","method":"OPTIONS","requestID":"940e5d0ff07a8c8ac67617b2abb65a1a","responseTime":0,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY","level":"info","message":"auth send jwt","requestID":"ff7d2b4c14b6019ca988a5d864843b70"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ff7d2b4c14b6019ca988a5d864843b70","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ff7d2b4c14b6019ca988a5d864843b70"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680177,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ff7d2b4c14b6019ca988a5d864843b70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ff7d2b4c14b6019ca988a5d864843b70","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ff7d2b4c14b6019ca988a5d864843b70"} device-1 | {"level":"info","message":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/websocket 200 20ms","method":"POST","requestID":"ff7d2b4c14b6019ca988a5d864843b70","responseTime":20,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ff7d2b4c14b6019ca988a5d864843b70"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY","level":"info","message":"auth send jwt","requestID":"d440de06da72026581728f698721c863"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d440de06da72026581728f698721c863","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d440de06da72026581728f698721c863"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693366,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d440de06da72026581728f698721c863","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d440de06da72026581728f698721c863","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"b4d763b0-af85-44fe-b5bd-3b28bc100589","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.461767} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d440de06da72026581728f698721c863","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d440de06da72026581728f698721c863"} gateway-1 | {"time_local":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16? 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":"d440de06da72026581728f698721c863"} device-1 | {"level":"info","message":"GET /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16? 200 13ms","method":"GET","requestID":"d440de06da72026581728f698721c863","responseTime":13,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY","level":"info","message":"auth send jwt","requestID":"2dfb510feae232ac62e6eba363e4219e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2dfb510feae232ac62e6eba363e4219e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2dfb510feae232ac62e6eba363e4219e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141653,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2dfb510feae232ac62e6eba363e4219e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2dfb510feae232ac62e6eba363e4219e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.108261701Z"}]},"request_id":"35fd70a6-6083-4f93-b29d-3b782ffac703","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.4808044} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2dfb510feae232ac62e6eba363e4219e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2dfb510feae232ac62e6eba363e4219e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec? 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":"2dfb510feae232ac62e6eba363e4219e"} device-1 | {"level":"info","message":"GET /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec? 200 13ms","method":"GET","requestID":"2dfb510feae232ac62e6eba363e4219e","responseTime":13,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY","level":"info","message":"auth send jwt","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d5ec10e80c75ce7794fadf5a11672fb0","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.731241,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d5ec10e80c75ce7794fadf5a11672fb0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5ec10e80c75ce7794fadf5a11672fb0","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to run experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to book experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully booked experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb0854e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb08a300-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636327,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb0854e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb0854e0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61238,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb08a300-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fb08a300-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"1e341b1d-22ea-432c-bdad-f5b641aee9d6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.581648} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fb0854e0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.108261701Z"}]},"request_id":"6819cc62-60b8-4603-a3f4-ccbaf28de3fd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.582281} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fb08a300-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb0854e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16? 200 36ms","method":"GET","requestID":"fb0854e0-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb08a300-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec? 200 35ms","method":"GET","requestID":"fb08a300-097b-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Setting up experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully set up experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb177010-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb179720-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb17be30-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully running experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703341,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb177010-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb177010-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745035,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb179720-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fb179720-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.416344,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd95f52c-dba8-47d2-b2e1-a022a9ca6a94","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.6806445} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb17be30-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","rebac_allow":false,"scope_allow":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":"fb17be30-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb17be30-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling 200 9ms","method":"POST","requestID":"fb17be30-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"32957720-6cde-4022-877c-1e28e132ad99","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.6842237} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fb177010-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.108261701Z"}]},"request_id":"35d21592-4cdd-4981-b39a-b3c32b85435f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.6853704} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fb179720-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb1992f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd50062-efab-4628-9451-882faec9eecd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd50062-efab-4628-9451-882faec9eecd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"73615768-cab2-43de-8913-35046c6a1b12","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.6897118} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb177010-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ad09c9f-dba8-40fb-b922-6d077c006c71","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.689882} device-1 | {"level":"info","message":"GET /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16? 200 18ms","method":"GET","requestID":"fb177010-097b-11f0-96bb-59c96fe0af16","responseTime":18,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb179720-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} device-1 | {"level":"info","message":"GET /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec? 200 18ms","method":"GET","requestID":"fb179720-097b-11f0-96bb-59c96fe0af16","responseTime":18,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"d5ec10e80c75ce7794fadf5a11672fb0","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"766671e0-2809-4e37-b9e7-1213364202ff","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.6921513} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.694361,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb1992f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb1992f0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb1aa460-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb1992f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling 200 11ms","method":"POST","requestID":"fb1992f0-097b-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5270e8e-82dd-46b0-b4a8-39c6ba2a7bab","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.6990907} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.611717,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb1aa460-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","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":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"d5ec10e80c75ce7794fadf5a11672fb0","responseTime":186,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb1aa460-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb1aa460-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling 200 9ms","method":"POST","requestID":"fb1aa460-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY","level":"info","message":"auth send jwt","requestID":"03d3701cdf8580d883caa11cc1860887"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03d3701cdf8580d883caa11cc1860887","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"03d3701cdf8580d883caa11cc1860887"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb1c7920-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:46180","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922888,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"03d3701cdf8580d883caa11cc1860887","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"03d3701cdf8580d883caa11cc1860887","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bd32385-29e2-496c-883c-8f99b3e3a311","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.7105207} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838389,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb1c7920-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb1c7920-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb1c7920-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling 200 8ms","method":"POST","requestID":"fb1c7920-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.060635513Z"}]},"request_id":"afb5f111-2540-4bd7-a757-bfc2c2d2d2a3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.714414} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Building connection plan","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"03d3701cdf8580d883caa11cc1860887","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":"af5ab1bd-b9c9-4705-b187-6a0580cb79ef"},{"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":"35a8c4fa-93c6-4d57-a869-a343a7596f53"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"35c842e3-b1fb-4852-b6d5-b2a80ab093e0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} 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/9aa3b24d-fda2-40a1-944a-7822eb6a0c16"},{"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/b0ccbac4-3b93-46f7-a836-44d58a5515ec"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"03d3701cdf8580d883caa11cc1860887"} gateway-1 | {"time_local":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03d3701cdf8580d883caa11cc1860887"} device-1 | {"level":"info","message":"GET /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16? 200 14ms","method":"GET","requestID":"03d3701cdf8580d883caa11cc1860887","responseTime":14,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16?"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.705191,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY","level":"info","message":"auth send jwt","requestID":"73a2a5e43eb97e5822b4aa887c40d13e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"73a2a5e43eb97e5822b4aa887c40d13e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"73a2a5e43eb97e5822b4aa887c40d13e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.466905,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"73a2a5e43eb97e5822b4aa887c40d13e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908854,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1NH0.CgJCfBSM7WDkII6MBL2SeRMVfam-guU0xcgSLiYCegY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"73a2a5e43eb97e5822b4aa887c40d13e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"551f2576-8d2e-4df7-ba8d-86d7991f57b2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.7294576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"beabf944-3df8-474e-a7d0-9c7e0797a532","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.7297783} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:52.108261701Z"}]},"request_id":"8c3fe5ba-1bcd-4a24-b623-be9e41fc762b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.7340527} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"73a2a5e43eb97e5822b4aa887c40d13e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3'","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3'","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"73a2a5e43eb97e5822b4aa887c40d13e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73a2a5e43eb97e5822b4aa887c40d13e"} device-1 | {"level":"info","message":"GET /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec? 200 20ms","method":"GET","requestID":"73a2a5e43eb97e5822b4aa887c40d13e","responseTime":20,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"fb1e26d0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3","device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","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/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d5ec10e80c75ce7794fadf5a11672fb0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb26b250-097b-11f0-96bb-59c96fe0af16"} device-1 | {"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95077589-f8d5-4216-a6fd-d8e9dd9f99fa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.8025885} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.353907,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb26b250-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","rebac_allow":false,"scope_allow":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":"fb26b250-097b-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 6916485221161615123 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:Hre6\r\na=ice-pwd:kTOJmPUSiLIIICRpDMj4/n0i\r\na=ice-options:trickle\r\na=fingerprint:sha-256 6F:1C:FE:FB:98:57:AF:72:FD:97:44:03:49:33:4D:EA:44:73:7B:C4:52:BF:A0:F6:8F:4D:B7:9D:EC:4C:53:6A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb26b250-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling 200 37ms","method":"POST","requestID":"fb26b250-097b-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb2c7eb0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f41d529-46d0-435c-a2d6-0c1b4ee9c9c6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908854.8155386} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.225633,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fb2c7eb0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb2c7eb0-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb2c7eb0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling 200 8ms","method":"POST","requestID":"fb2c7eb0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling"} device-1 | {"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"6e6604c4-9d13-4832-8446-f4f350560de3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/6e6604c4-9d13-4832-8446-f4f350560de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6e6604c4-9d13-4832-8446-f4f350560de3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1d5703e5f9fc3c59e0cabd072f238363","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1d5703e5f9fc3c59e0cabd072f238363","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16"},{"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/b0ccbac4-3b93-46f7-a836-44d58a5515ec"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3"}}},"level":"info","message":"received a callback","requestID":"1d5703e5f9fc3c59e0cabd072f238363"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"1d5703e5f9fc3c59e0cabd072f238363","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"1d5703e5f9fc3c59e0cabd072f238363"} device-1 | {"content":{"candidate":"candidate:2809938703 1 udp 2113937151 a40a13f6-1e48-40e0-9058-be134b6b60f9.local 42461 typ host generation 0 ufrag Hre6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"6e6604c4-9d13-4832-8446-f4f350560de3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"6e6604c4-9d13-4832-8446-f4f350560de3","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/6e6604c4-9d13-4832-8446-f4f350560de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6e6604c4-9d13-4832-8446-f4f350560de3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c3994ad020a32e24c240da7c80aa1eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4c3994ad020a32e24c240da7c80aa1eb","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/9aa3b24d-fda2-40a1-944a-7822eb6a0c16"},{"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/b0ccbac4-3b93-46f7-a836-44d58a5515ec"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3"}}},"level":"info","message":"received a callback","requestID":"4c3994ad020a32e24c240da7c80aa1eb"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fc672190-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e6604c4-9d13-4832-8446-f4f350560de3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95ba16fc-ada8-4153-b405-0a912e799105","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908856.8774822} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.188266,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc672190-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3","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":"fc672190-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fc672190-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3 200 7ms","method":"GET","requestID":"fc672190-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"4c3994ad020a32e24c240da7c80aa1eb","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c3994ad020a32e24c240da7c80aa1eb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc6a55e0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d06063e-49bd-4735-8232-cf00e40eaee1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908856.8983026} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.120229,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc6a55e0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","rebac_allow":false,"scope_allow":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":"fc6a55e0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc6a55e0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling 200 8ms","method":"POST","requestID":"fc6a55e0-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc6bb570-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d0cd0c0-31b9-45a7-9ece-9d01072638e2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908856.9071965} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.123633,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc6bb570-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","rebac_allow":false,"scope_allow":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":"fc6bb570-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc6bb570-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling 200 7ms","method":"POST","requestID":"fc6bb570-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Nn0.SC2VirBlkCOTtLlyGEC8zM9ocvlDoS72gi3qSdvJlo0","level":"info","message":"auth send jwt","requestID":"b417b38bda1aaffc2b622d85bf7fa0af"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b417b38bda1aaffc2b622d85bf7fa0af","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0fd50062-efab-4628-9451-882faec9eecd","requestID":"b417b38bda1aaffc2b622d85bf7fa0af"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.930104,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b417b38bda1aaffc2b622d85bf7fa0af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908856,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Nn0.SC2VirBlkCOTtLlyGEC8zM9ocvlDoS72gi3qSdvJlo0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b417b38bda1aaffc2b622d85bf7fa0af","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0fd50062-efab-4628-9451-882faec9eecd","requestID":"b417b38bda1aaffc2b622d85bf7fa0af"} experiment-1 | {"level":"info","message":"GET /experiments/0fd50062-efab-4628-9451-882faec9eecd 200 11ms","method":"GET","requestID":"b417b38bda1aaffc2b622d85bf7fa0af","responseTime":11,"status":200,"url":"/experiments/0fd50062-efab-4628-9451-882faec9eecd"} gateway-1 | {"time_local":"25/Mar/2025:13:20:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0fd50062-efab-4628-9451-882faec9eecd HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b417b38bda1aaffc2b622d85bf7fa0af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Nn0.SC2VirBlkCOTtLlyGEC8zM9ocvlDoS72gi3qSdvJlo0","level":"info","message":"auth send jwt","requestID":"a2a8095f3581a35096d7e1943ad66535"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2a8095f3581a35096d7e1943ad66535","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0fd50062-efab-4628-9451-882faec9eecd","requestID":"a2a8095f3581a35096d7e1943ad66535"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:56Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.055194,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a2a8095f3581a35096d7e1943ad66535","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908856,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Nn0.SC2VirBlkCOTtLlyGEC8zM9ocvlDoS72gi3qSdvJlo0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a2a8095f3581a35096d7e1943ad66535","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Attempting to finish experiment","requestID":"a2a8095f3581a35096d7e1943ad66535"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fc7ccc70-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.707566,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc7ccc70-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908856,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1Nn0.SC2VirBlkCOTtLlyGEC8zM9ocvlDoS72gi3qSdvJlo0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc7ccc70-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3","device":"b0ccbac4-3b93-46f7-a836-44d58a5515ec","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9aa3b24d-fda2-40a1-944a-7822eb6a0c16","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/6e6604c4-9d13-4832-8446-f4f350560de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6e6604c4-9d13-4832-8446-f4f350560de3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e6604c4-9d13-4832-8446-f4f350560de3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e6604c4-9d13-4832-8446-f4f350560de3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"075988b7-52f1-425a-9e13-e3df5acb3922","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.0290327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4661229-8ea8-4797-ad05-78f5e7fa1b8c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.0293832} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"43889b0fca9a55141635e1fc0e2a0875","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"43889b0fca9a55141635e1fc0e2a0875","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a681b49b097f11d4d01699e265c6772d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16"},{"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/b0ccbac4-3b93-46f7-a836-44d58a5515ec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3"}}},"level":"info","message":"received a callback","requestID":"43889b0fca9a55141635e1fc0e2a0875"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"a681b49b097f11d4d01699e265c6772d","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"fc7ccc70-097b-11f0-96bb-59c96fe0af16","responseTime":34,"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/9aa3b24d-fda2-40a1-944a-7822eb6a0c16"},{"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/b0ccbac4-3b93-46f7-a836-44d58a5515ec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3"}}},"level":"info","message":"received a callback","requestID":"a681b49b097f11d4d01699e265c6772d"} device-1 | {"data":{"peerconnection":"6e6604c4-9d13-4832-8446-f4f350560de3","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fc7ccc70-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3 204 55ms","method":"DELETE","requestID":"fc7ccc70-097b-11f0-96bb-59c96fe0af16","responseTime":55,"status":204,"url":"/peerconnections/6e6604c4-9d13-4832-8446-f4f350560de3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd50062-efab-4628-9451-882faec9eecd"},"level":"info","message":"Successfully finished experiment","requestID":"a2a8095f3581a35096d7e1943ad66535"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc8a8810-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9aa3b24d-fda2-40a1-944a-7822eb6a0c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c214d1f-d936-4c75-8f31-ebf40c98b2df","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.108965} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445016,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc8a8810-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16","object_type":"device","rebac_allow":false,"scope_allow":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":"fc8a8810-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc8a8810-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling 200 7ms","method":"POST","requestID":"fc8a8810-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fc8be7a0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd50062-efab-4628-9451-882faec9eecd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd50062-efab-4628-9451-882faec9eecd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"2958e1f7-f462-4167-b69b-7bcb264c3e99","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.1192768} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0ccbac4-3b93-46f7-a836-44d58a5515ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bcf40de-4c7b-489d-b9fd-80f1fdc1bd58","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.119393} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba403f30-f7b0-4697-85d7-e4b2d3032c7c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.1194656} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a2a8095f3581a35096d7e1943ad66535","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.162004,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fc8be7a0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec","object_type":"device","rebac_allow":false,"scope_allow":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":"fc8be7a0-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fc8be7a0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling 200 10ms","method":"POST","requestID":"fc8be7a0-097b-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0fd50062-efab-4628-9451-882faec9eecd","requestID":"a2a8095f3581a35096d7e1943ad66535"} gateway-1 | {"time_local":"25/Mar/2025:13:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0fd50062-efab-4628-9451-882faec9eecd 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":"a2a8095f3581a35096d7e1943ad66535"} experiment-1 | {"level":"info","message":"DELETE /experiments/0fd50062-efab-4628-9451-882faec9eecd 204 237ms","method":"DELETE","requestID":"a2a8095f3581a35096d7e1943ad66535","responseTime":237,"status":204,"url":"/experiments/0fd50062-efab-4628-9451-882faec9eecd"} gateway-1 | {"time_local":"25/Mar/2025:13:20:57 +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.130","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0598974f9ce9d1b185f1c3350a347766"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"43889b0fca9a55141635e1fc0e2a0875","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"43889b0fca9a55141635e1fc0e2a0875"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"a681b49b097f11d4d01699e265c6772d","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"a681b49b097f11d4d01699e265c6772d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1N30.3_xhrb5oBRb40aC8FO4Pb885lok6xUPNswhP6eIpuf8","level":"info","message":"auth send jwt","requestID":"ab1a82df2494bb1d85df33bca16a73d1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab1a82df2494bb1d85df33bca16a73d1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ab1a82df2494bb1d85df33bca16a73d1"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.767491,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:57Z"} gateway-1 | {"time_local":"25/Mar/2025:13:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2396","request_time":"2.814","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7e3eba6e710c7e385da8a7b31cd68e33"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9aa3b24d-fda2-40a1-944a-7822eb6a0c16' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ab1a82df2494bb1d85df33bca16a73d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908857,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1N30.3_xhrb5oBRb40aC8FO4Pb885lok6xUPNswhP6eIpuf8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ab1a82df2494bb1d85df33bca16a73d1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0a4300dc-b9ed-4e97-ae4f-501938e20752","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.265859} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ab1a82df2494bb1d85df33bca16a73d1","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"049d75f0-fbab-4c5a-aa67-3f7ebe911dbd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.2706335} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b0ccbac4-3b93-46f7-a836-44d58a5515ec' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ab1a82df2494bb1d85df33bca16a73d1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"db71a223-c0f7-4475-aed4-ea0a1a51041f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.306673} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63ac3778-0342-40b0-8831-d0bbbd93c0b1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.3068807} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"ab1a82df2494bb1d85df33bca16a73d1","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"f9fd375f-f0ea-4531-9533-7c2ab0283492","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.311289} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ab1a82df2494bb1d85df33bca16a73d1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ab1a82df2494bb1d85df33bca16a73d1"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab1a82df2494bb1d85df33bca16a73d1"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"ab1a82df2494bb1d85df33bca16a73d1","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1N30.3_xhrb5oBRb40aC8FO4Pb885lok6xUPNswhP6eIpuf8","level":"info","message":"auth send jwt","requestID":"e79116fbe5f2c23edadee28cf7f056dd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e79116fbe5f2c23edadee28cf7f056dd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e79116fbe5f2c23edadee28cf7f056dd"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.674391,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e79116fbe5f2c23edadee28cf7f056dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908857,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1N30.3_xhrb5oBRb40aC8FO4Pb885lok6xUPNswhP6eIpuf8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e79116fbe5f2c23edadee28cf7f056dd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a1bde025-00d6-4d8f-94e0-40e601939de6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.3528354} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e79116fbe5f2c23edadee28cf7f056dd","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9ab1de9-4992-4edf-8f43-11e1b15cd3b2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.3574543} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e79116fbe5f2c23edadee28cf7f056dd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"0886fdf4-64a0-4975-a74f-98488a5fc868","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.3666105} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62f46240-4628-44bf-bda9-2a7b6e5ddbef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.3666966} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e79116fbe5f2c23edadee28cf7f056dd","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.366589861Z"}]},"request_id":"360361e8-3149-4882-ac61-8b7b8a1b426b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908857.3948433} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e79116fbe5f2c23edadee28cf7f056dd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e79116fbe5f2c23edadee28cf7f056dd"} gateway-1 | {"time_local":"25/Mar/2025:13:20: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.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e79116fbe5f2c23edadee28cf7f056dd"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"e79116fbe5f2c23edadee28cf7f056dd","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OH0.KLhcfWbSXNLafxaAKuz5oZDxUeEZXA_GR3AcQPdMci0","level":"info","message":"auth send jwt","requestID":"3cbc9792a74adb22ec5efb9e2844716e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3cbc9792a74adb22ec5efb9e2844716e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3cbc9792a74adb22ec5efb9e2844716e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803213,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3cbc9792a74adb22ec5efb9e2844716e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908858,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OH0.KLhcfWbSXNLafxaAKuz5oZDxUeEZXA_GR3AcQPdMci0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3cbc9792a74adb22ec5efb9e2844716e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"416d71b9-5219-4a4e-acf7-df62cf0736e5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908858.2777896} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3cbc9792a74adb22ec5efb9e2844716e","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d03feb3-c232-4844-9960-f575ba70c560","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908858.3060458} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"3cbc9792a74adb22ec5efb9e2844716e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"271e3d91-1eac-4542-8a9d-6c64cafb3987","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908858.316833} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3cbc9792a74adb22ec5efb9e2844716e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3cbc9792a74adb22ec5efb9e2844716e"} gateway-1 | {"time_local":"25/Mar/2025:13:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/63e798f0-a334-42f0-9263-01646ec3c808 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"3cbc9792a74adb22ec5efb9e2844716e"} device-1 | {"level":"info","message":"PATCH /devices/63e798f0-a334-42f0-9263-01646ec3c808 200 49ms","method":"PATCH","requestID":"3cbc9792a74adb22ec5efb9e2844716e","responseTime":49,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OH0.KLhcfWbSXNLafxaAKuz5oZDxUeEZXA_GR3AcQPdMci0","level":"info","message":"auth send jwt","requestID":"0045df5994dcda962bd3933943e44886"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0045df5994dcda962bd3933943e44886","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0045df5994dcda962bd3933943e44886"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872167,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0045df5994dcda962bd3933943e44886","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908858,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OH0.KLhcfWbSXNLafxaAKuz5oZDxUeEZXA_GR3AcQPdMci0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"0045df5994dcda962bd3933943e44886","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0045df5994dcda962bd3933943e44886"} gateway-1 | {"time_local":"25/Mar/2025:13:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0045df5994dcda962bd3933943e44886"} device-1 | {"level":"info","message":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/websocket 200 45ms","method":"POST","requestID":"0045df5994dcda962bd3933943e44886","responseTime":45,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1406b8041e55da9edca14f2057109500","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1406b8041e55da9edca14f2057109500","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:20:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/808135ed-1496-44db-bc49-17c646caf686/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":"1406b8041e55da9edca14f2057109500"} device-1 | {"level":"info","message":"OPTIONS /devices/808135ed-1496-44db-bc49-17c646caf686/websocket 200 1ms","method":"OPTIONS","requestID":"1406b8041e55da9edca14f2057109500","responseTime":1,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY","level":"info","message":"auth send jwt","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233652,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8"} gateway-1 | {"time_local":"25/Mar/2025:13:20:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8"} device-1 | {"level":"info","message":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/websocket 200 21ms","method":"POST","requestID":"ee5e69406bd1a7ed1b48b6a0cd1845b8","responseTime":21,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY","level":"info","message":"auth send jwt","requestID":"5441c1dad4f7453d0699c15fc8478ddf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5441c1dad4f7453d0699c15fc8478ddf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5441c1dad4f7453d0699c15fc8478ddf"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704342,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5441c1dad4f7453d0699c15fc8478ddf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5441c1dad4f7453d0699c15fc8478ddf","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"a7f5df21-ff50-4340-8000-843af91ff2ba","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.7488236} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5441c1dad4f7453d0699c15fc8478ddf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5441c1dad4f7453d0699c15fc8478ddf"} device-1 | {"level":"info","message":"GET /devices/63e798f0-a334-42f0-9263-01646ec3c808? 200 13ms","method":"GET","requestID":"5441c1dad4f7453d0699c15fc8478ddf","responseTime":13,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63e798f0-a334-42f0-9263-01646ec3c808? 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":"5441c1dad4f7453d0699c15fc8478ddf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY","level":"info","message":"auth send jwt","requestID":"16c1b2d468ee1a913c91cf095c9d9486"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"16c1b2d468ee1a913c91cf095c9d9486","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"16c1b2d468ee1a913c91cf095c9d9486"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674627,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"16c1b2d468ee1a913c91cf095c9d9486","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"16c1b2d468ee1a913c91cf095c9d9486","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.366589861Z"}]},"request_id":"d16b57ab-95e9-495f-8098-1ba6af04cb04","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.7651634} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"16c1b2d468ee1a913c91cf095c9d9486","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"16c1b2d468ee1a913c91cf095c9d9486"} gateway-1 | {"time_local":"25/Mar/2025:13:20:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/808135ed-1496-44db-bc49-17c646caf686? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16c1b2d468ee1a913c91cf095c9d9486"} device-1 | {"level":"info","message":"GET /devices/808135ed-1496-44db-bc49-17c646caf686? 200 11ms","method":"GET","requestID":"16c1b2d468ee1a913c91cf095c9d9486","responseTime":11,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY","level":"info","message":"auth send jwt","requestID":"aac5992e53aed069211a196641e0018c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aac5992e53aed069211a196641e0018c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"aac5992e53aed069211a196641e0018c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.678235,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"aac5992e53aed069211a196641e0018c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aac5992e53aed069211a196641e0018c","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to run experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to book experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully booked experiment","requestID":"aac5992e53aed069211a196641e0018c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe26abe0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe26d2f0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968479,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe26abe0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe26abe0-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806243,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe26d2f0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe26d2f0-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"54e66c53-68b0-4531-9cd6-e8c03d3ea1ab","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.8140807} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fe26abe0-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe26abe0-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.366589861Z"}]},"request_id":"31ce77e1-1d0e-4ff7-9541-ba36d80011ec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.8176527} device-1 | {"level":"info","message":"GET /devices/63e798f0-a334-42f0-9263-01646ec3c808? 200 12ms","method":"GET","requestID":"fe26abe0-097b-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fe26d2f0-097b-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe26d2f0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/808135ed-1496-44db-bc49-17c646caf686? 200 38ms","method":"GET","requestID":"fe26d2f0-097b-11f0-96bb-59c96fe0af16","responseTime":38,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Setting up experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully set up experiment","requestID":"aac5992e53aed069211a196641e0018c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe366350-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe36b170-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe36d880-097b-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully running experiment","requestID":"aac5992e53aed069211a196641e0018c"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805637,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe366350-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe366350-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737935,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe36b170-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"fe36b170-097b-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba6e6a8a-b6d4-4940-8e8f-48006f22311a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.943572} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.356535,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe36d880-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","rebac_allow":false,"scope_allow":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":"fe36d880-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"5f26f87e-ee55-4a2d-9bbf-e9193928141d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.945714} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe36d880-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fe366350-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.366589861Z"}]},"request_id":"b73ef207-4ff0-4d17-990a-474455e26f07","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.9478707} device-1 | {"level":"info","message":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling 200 36ms","method":"POST","requestID":"fe36d880-097b-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fe36b170-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe3ccbf0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe366350-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/63e798f0-a334-42f0-9263-01646ec3c808? 200 44ms","method":"GET","requestID":"fe366350-097b-11f0-96bb-59c96fe0af16","responseTime":44,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe36b170-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab625071-cce2-4d31-b25f-c98bb98ee4d9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab625071-cce2-4d31-b25f-c98bb98ee4d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"d4d34308-3800-4e10-a53a-eeb4de9d5a4f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.9532075} device-1 | {"level":"info","message":"GET /devices/808135ed-1496-44db-bc49-17c646caf686? 200 43ms","method":"GET","requestID":"fe36b170-097b-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f160fee4-f5f7-4b8d-ad3b-6c9cc7db5759","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.9533627} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"aac5992e53aed069211a196641e0018c","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3711a610-fbc9-4039-a487-1ca52420ce62","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.955647} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.323005,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe3d8f40-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe3ccbf0-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fe3ccbf0-097b-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe3ccbf0-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/signaling 200 9ms","method":"POST","requestID":"fe3ccbf0-097b-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68cc1398-52d3-4bfc-8ef2-397e7a60dda5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.98537} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.773891,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"aac5992e53aed069211a196641e0018c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe3d8f40-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","rebac_allow":false,"scope_allow":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":"fe3d8f40-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 213ms","method":"POST","requestID":"aac5992e53aed069211a196641e0018c","responseTime":213,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:20:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aac5992e53aed069211a196641e0018c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe3d8f40-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling 200 33ms","method":"POST","requestID":"fe3d8f40-097b-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY","level":"info","message":"auth send jwt","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe42e670-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611602,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c2fb1933dc5904c0ae04947ee2b9ec73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d07287cd-9d8f-46ce-9bee-9d402607e1c9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.9953656} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.071758,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:20:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe42e670-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe42e670-097b-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.306648696Z"}]},"request_id":"e298b7c1-4828-445e-a011-380df3f4da8c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908859.9986298} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe42e670-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/signaling 200 8ms","method":"POST","requestID":"fe42e670-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"aac5992e53aed069211a196641e0018c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Building connection plan","requestID":"aac5992e53aed069211a196641e0018c"} 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":"554cb4d8-807f-4740-93b7-358a87f62955"},{"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":"d3acd34e-3afe-4e61-976e-1364e9874177"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1c4f3aa8-6cd0-4774-b6c1-49f70df4ac19"}]},"level":"info","message":"Built pairwise service configurations","requestID":"aac5992e53aed069211a196641e0018c"} 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/808135ed-1496-44db-bc49-17c646caf686"},{"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/63e798f0-a334-42f0-9263-01646ec3c808"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"aac5992e53aed069211a196641e0018c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73"} gateway-1 | {"time_local":"25/Mar/2025:13:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63e798f0-a334-42f0-9263-01646ec3c808? 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":"c2fb1933dc5904c0ae04947ee2b9ec73"} device-1 | {"level":"info","message":"GET /devices/63e798f0-a334-42f0-9263-01646ec3c808? 200 10ms","method":"GET","requestID":"c2fb1933dc5904c0ae04947ee2b9ec73","responseTime":10,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:00Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2MH0.UF6__YnKesy4Tm5VpNjanDMtzzVfTZNJgGdKg3YCUQ8","level":"info","message":"auth send jwt","requestID":"e4c5010dd2ca58252c85bb02368246e1"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.685365,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:00Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4c5010dd2ca58252c85bb02368246e1","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe449420-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908859,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg1OX0.kqaxB99Khm6b1WM2N8QniiHjrLbiXwgpHd58yPIzxfY"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4c5010dd2ca58252c85bb02368246e1"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.850911,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e4c5010dd2ca58252c85bb02368246e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908860,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2MH0.UF6__YnKesy4Tm5VpNjanDMtzzVfTZNJgGdKg3YCUQ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e4c5010dd2ca58252c85bb02368246e1","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:20:57.366589861Z"}]},"request_id":"2aadb44c-14f2-4cb5-afbe-9204e0f8abdd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908860.0364518} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4c5010dd2ca58252c85bb02368246e1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4c5010dd2ca58252c85bb02368246e1"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fe3b1461-ab41-440b-b499-cf54e4652386","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908860.0391357} gateway-1 | {"time_local":"25/Mar/2025:13:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/808135ed-1496-44db-bc49-17c646caf686? 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":"e4c5010dd2ca58252c85bb02368246e1"} device-1 | {"level":"info","message":"GET /devices/808135ed-1496-44db-bc49-17c646caf686? 200 33ms","method":"GET","requestID":"e4c5010dd2ca58252c85bb02368246e1","responseTime":33,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"caef2e7c-e4f9-43b6-b80b-ca5af42ddfe9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908860.0393388} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9'","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9'","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} 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":"fe449420-097b-11f0-96bb-59c96fe0af16","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"fe449420-097b-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9","device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"aac5992e53aed069211a196641e0018c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe52ec00-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:00Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b9a5d9a-2635-47d1-8240-6bab455890d5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908860.100053} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.125649,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe52ec00-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","rebac_allow":false,"scope_allow":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":"fe52ec00-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe52ec00-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling 200 32ms","method":"POST","requestID":"fe52ec00-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling"} device-1 | {"device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe584330-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:00Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e260bec-9cbd-4440-a543-3b41f67cd738","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908860.1351788} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.744428,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fe584330-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","rebac_allow":false,"scope_allow":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":"fe584330-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe584330-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/signaling 200 7ms","method":"POST","requestID":"fe584330-097b-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/signaling"} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1870041450834503925 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:3tDX\r\na=ice-pwd:ROm9jjwkWmy6+puyXDckTP4u\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BB:12:C6:65:77:62:B4:1A:94:6D:57:95:1D:18:D0:5C:E4:73:B5:F4:03:56:45:91:ED:91:E5:4B:9D:2B:2D:74\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3608528439 1 udp 2113937151 e473d48a-05ea-4202-a46e-57b541690c34.local 38153 typ host generation 0 ufrag 3tDX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"808135ed-1496-44db-bc49-17c646caf686","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/3b9682df-b17a-473f-9e2b-25ef77c584b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.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":"e69137d705e44573bafe2b370f7589b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e69137d705e44573bafe2b370f7589b9","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/808135ed-1496-44db-bc49-17c646caf686"},{"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/63e798f0-a334-42f0-9263-01646ec3c808"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9"}}},"level":"info","message":"received a callback","requestID":"e69137d705e44573bafe2b370f7589b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"e69137d705e44573bafe2b370f7589b9","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"e69137d705e44573bafe2b370f7589b9"} device-1 | {"data":{"peerconnection":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"808135ed-1496-44db-bc49-17c646caf686","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/3b9682df-b17a-473f-9e2b-25ef77c584b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"532dd490d7d077358ce07071f4d1356e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"532dd490d7d077358ce07071f4d1356e","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686"},{"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/63e798f0-a334-42f0-9263-01646ec3c808"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9"}}},"level":"info","message":"received a callback","requestID":"532dd490d7d077358ce07071f4d1356e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ff968f90-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3b9682df-b17a-473f-9e2b-25ef77c584b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aee5d9d8-6aed-4091-9b3d-2f7da5fb1645","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.242542} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":24.462544,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ff968f90-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9","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":"ff968f90-097b-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ff968f90-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9 200 30ms","method":"GET","requestID":"ff968f90-097b-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"532dd490d7d077358ce07071f4d1356e","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"532dd490d7d077358ce07071f4d1356e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ff9d9470-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a57d79ea-f8da-4323-b3c0-ac54a5b6ad97","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.2914212} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658531,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ff9d9470-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","rebac_allow":false,"scope_allow":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":"ff9d9470-097b-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ff9d9470-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/signaling 200 32ms","method":"POST","requestID":"ff9d9470-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ffa2c490-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b1a0478-e564-46af-87c0-e6ce7c990419","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.3011794} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.532405,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ffa2c490-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ffa2c490-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ffa2c490-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling 200 8ms","method":"POST","requestID":"ffa2c490-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M","level":"info","message":"auth send jwt","requestID":"c63f9af006415c702d0454fe5aa0af2b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c63f9af006415c702d0454fe5aa0af2b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","requestID":"c63f9af006415c702d0454fe5aa0af2b"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691305,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c63f9af006415c702d0454fe5aa0af2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908862,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c63f9af006415c702d0454fe5aa0af2b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","requestID":"c63f9af006415c702d0454fe5aa0af2b"} gateway-1 | {"time_local":"25/Mar/2025:13:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c63f9af006415c702d0454fe5aa0af2b"} experiment-1 | {"level":"info","message":"GET /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9 200 8ms","method":"GET","requestID":"c63f9af006415c702d0454fe5aa0af2b","responseTime":8,"status":200,"url":"/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M","level":"info","message":"auth send jwt","requestID":"525619c8d9271d49c6afc504496a42e1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"525619c8d9271d49c6afc504496a42e1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","requestID":"525619c8d9271d49c6afc504496a42e1"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.673188,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"525619c8d9271d49c6afc504496a42e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908862,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"525619c8d9271d49c6afc504496a42e1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Attempting to finish experiment","requestID":"525619c8d9271d49c6afc504496a42e1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ffab2900-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.704914,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ffab2900-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908862,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ffab2900-097b-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9","device":"808135ed-1496-44db-bc49-17c646caf686","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"63e798f0-a334-42f0-9263-01646ec3c808","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/3b9682df-b17a-473f-9e2b-25ef77c584b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3b9682df-b17a-473f-9e2b-25ef77c584b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3b9682df-b17a-473f-9e2b-25ef77c584b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"4a5a4bfd-55af-4b45-a0bf-43fba3f6d07b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.388905} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa57f6ad-0296-4c04-94c4-493da3e6474a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.3890953} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f197ca14dd102d75c046d70cfd42fee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f197ca14dd102d75c046d70cfd42fee","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"60ba962a25acb34122c0fb1fc0d1cb15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 32ms","method":"POST","requestID":"ffab2900-097b-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"60ba962a25acb34122c0fb1fc0d1cb15","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/808135ed-1496-44db-bc49-17c646caf686"},{"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/63e798f0-a334-42f0-9263-01646ec3c808"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9"}}},"level":"info","message":"received a callback","requestID":"1f197ca14dd102d75c046d70cfd42fee"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686"},{"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/63e798f0-a334-42f0-9263-01646ec3c808"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9"}}},"level":"info","message":"received a callback","requestID":"60ba962a25acb34122c0fb1fc0d1cb15"} device-1 | {"data":{"peerconnection":"3b9682df-b17a-473f-9e2b-25ef77c584b9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ffab2900-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9 204 55ms","method":"DELETE","requestID":"ffab2900-097b-11f0-96bb-59c96fe0af16","responseTime":55,"status":204,"url":"/peerconnections/3b9682df-b17a-473f-9e2b-25ef77c584b9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"},"level":"info","message":"Successfully finished experiment","requestID":"525619c8d9271d49c6afc504496a42e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ffb9f610-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808135ed-1496-44db-bc49-17c646caf686","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ba6fe0b-20cb-491e-9c5c-fdfa23250ce9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.4527376} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.379683,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ffb9f610-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686","object_type":"device","rebac_allow":false,"scope_allow":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":"ffb9f610-097b-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ffb9f610-097b-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/808135ed-1496-44db-bc49-17c646caf686/signaling 200 8ms","method":"POST","requestID":"ffb9f610-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/808135ed-1496-44db-bc49-17c646caf686/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ffbeff20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63e798f0-a334-42f0-9263-01646ec3c808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49400077-b4b7-4e09-8c14-88b0a3010929","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.4864333} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276615,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ffbeff20-097b-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ffbeff20-097b-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab625071-cce2-4d31-b25f-c98bb98ee4d9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab625071-cce2-4d31-b25f-c98bb98ee4d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"56a4705c-e72a-4b6f-9c42-559e4fd18943","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.4900641} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ffbeff20-097b-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1159fce-7ad6-4f5f-a19c-8c5129992ee2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.490273} device-1 | {"level":"info","message":"POST /devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling 200 8ms","method":"POST","requestID":"ffbeff20-097b-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/63e798f0-a334-42f0-9263-01646ec3c808/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"525619c8d9271d49c6afc504496a42e1","responseTime":44,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9","requestID":"525619c8d9271d49c6afc504496a42e1"} gateway-1 | {"time_local":"25/Mar/2025:13:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9 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":"525619c8d9271d49c6afc504496a42e1"} experiment-1 | {"level":"info","message":"DELETE /experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9 204 239ms","method":"DELETE","requestID":"525619c8d9271d49c6afc504496a42e1","responseTime":239,"status":204,"url":"/experiments/ab625071-cce2-4d31-b25f-c98bb98ee4d9"} gateway-1 | {"time_local":"25/Mar/2025:13:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2531","request_time":"4.211","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"cfe223297ccb40572d62829a1c1a1e1b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"1f197ca14dd102d75c046d70cfd42fee","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.197","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f197ca14dd102d75c046d70cfd42fee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M","level":"info","message":"auth send jwt","requestID":"9eb248b468abe7d8390a932b3e8e72bb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9eb248b468abe7d8390a932b3e8e72bb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"60ba962a25acb34122c0fb1fc0d1cb15","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.199","http_referrer":"","http_user_agent":"node-fetch","requestID":"60ba962a25acb34122c0fb1fc0d1cb15"} device-1 | {"level":"info","message":"postDevices called","requestID":"9eb248b468abe7d8390a932b3e8e72bb"} gateway-1 | {"time_local":"25/Mar/2025:13:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.868","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a71e2b3c60534683fe193eaecddf2a96"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968189,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9eb248b468abe7d8390a932b3e8e72bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908862,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9eb248b468abe7d8390a932b3e8e72bb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/63e798f0-a334-42f0-9263-01646ec3c808' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cdf4dedb-c7e0-49d9-9b9f-90530221a2ae","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.638916} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9eb248b468abe7d8390a932b3e8e72bb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/808135ed-1496-44db-bc49-17c646caf686' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f2001d1-d652-4d80-8329-2ebd6833d8d0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.6455503} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9eb248b468abe7d8390a932b3e8e72bb","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"805d7707-c8af-46a1-a43e-d2334e969a04","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.6798081} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72be9b55-76d9-466d-8235-a5e930adcdcf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.679959} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"9eb248b468abe7d8390a932b3e8e72bb","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"72305d11-4238-4ed1-89aa-5e073c4427e7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.6878455} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9eb248b468abe7d8390a932b3e8e72bb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9eb248b468abe7d8390a932b3e8e72bb"} device-1 | {"level":"info","message":"POST /devices? 201 99ms","method":"POST","requestID":"9eb248b468abe7d8390a932b3e8e72bb","responseTime":99,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9eb248b468abe7d8390a932b3e8e72bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M","level":"info","message":"auth send jwt","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.288226,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908862,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Mn0.2k_JPtF9OM8AGg0HNhaEStDGU1IxIRzMJXh-u7rm5_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ff4bd57-fd38-44cb-9b32-1dafac863e12","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.7347093} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02ffeee6-2324-4cf5-8b21-25517d9066b1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.7388604} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"4fe2918d-dc9b-40b3-b0e8-0cb7a9bf21cd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.7744286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b810f73-1998-4a12-91ec-8519f5425d6b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.7746072} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"09eac808-aea2-450c-9d14-5fd61ee3baef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908862.7785442} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470","responseTime":86,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7f3c8b68c404d57e0f88f04ec5a7470"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"3ba819d4852905bf638beb4ce0e8835b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ba819d4852905bf638beb4ce0e8835b","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"6860e2bc5347816a278df0746b91bb25"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6860e2bc5347816a278df0746b91bb25","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3ba819d4852905bf638beb4ce0e8835b"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6860e2bc5347816a278df0746b91bb25"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730593,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3ba819d4852905bf638beb4ce0e8835b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3ba819d4852905bf638beb4ce0e8835b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644243,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6860e2bc5347816a278df0746b91bb25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6860e2bc5347816a278df0746b91bb25","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"45379cae-0fea-40eb-8598-541787b3b546","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.6539457} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3ba819d4852905bf638beb4ce0e8835b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"1442c684-e5cf-45fa-98e4-584d479f8a5e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.6546957} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6860e2bc5347816a278df0746b91bb25","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"689853de-adaf-475a-a3cb-388cd2bac41b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.6829085} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3ba819d4852905bf638beb4ce0e8835b","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16891931-73f9-4d6e-b921-7b144fa44f3e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.6837518} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6860e2bc5347816a278df0746b91bb25","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"f699157d-f515-4ecc-abd1-9b3e85d17b60","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.686617} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6860e2bc5347816a278df0746b91bb25","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6860e2bc5347816a278df0746b91bb25"} gateway-1 | {"time_local":"25/Mar/2025:13:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"6860e2bc5347816a278df0746b91bb25"} device-1 | {"level":"info","message":"PATCH /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24 200 42ms","method":"PATCH","requestID":"6860e2bc5347816a278df0746b91bb25","responseTime":42,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"68a61b4300941e396be4d9a9f00e575e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"68a61b4300941e396be4d9a9f00e575e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"68a61b4300941e396be4d9a9f00e575e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"bc86dfd1-61f6-4774-b508-0fa65bceb403","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.6949475} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3ba819d4852905bf638beb4ce0e8835b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653658,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3ba819d4852905bf638beb4ce0e8835b"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"68a61b4300941e396be4d9a9f00e575e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} device-1 | {"level":"info","message":"PATCH /devices/150153f7-815b-4d70-8da8-0528bdf9e600 200 53ms","method":"PATCH","requestID":"3ba819d4852905bf638beb4ce0e8835b","responseTime":53,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600"} gateway-1 | {"time_local":"25/Mar/2025:13:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/150153f7-815b-4d70-8da8-0528bdf9e600 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"3ba819d4852905bf638beb4ce0e8835b"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"68a61b4300941e396be4d9a9f00e575e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"e40b80fdd703d57d8a990322e07f901c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e40b80fdd703d57d8a990322e07f901c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e40b80fdd703d57d8a990322e07f901c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744519,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e40b80fdd703d57d8a990322e07f901c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e40b80fdd703d57d8a990322e07f901c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"68a61b4300941e396be4d9a9f00e575e"} device-1 | {"level":"info","message":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/websocket 200 14ms","method":"POST","requestID":"68a61b4300941e396be4d9a9f00e575e","responseTime":14,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/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.14","requestID":"68a61b4300941e396be4d9a9f00e575e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e40b80fdd703d57d8a990322e07f901c"} gateway-1 | {"time_local":"25/Mar/2025:13:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/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.14","requestID":"e40b80fdd703d57d8a990322e07f901c"} device-1 | {"level":"info","message":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/websocket 200 38ms","method":"POST","requestID":"e40b80fdd703d57d8a990322e07f901c","responseTime":38,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"806ce3fc853129b152a291dc28fdc31c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"806ce3fc853129b152a291dc28fdc31c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"806ce3fc853129b152a291dc28fdc31c"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733323,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"806ce3fc853129b152a291dc28fdc31c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"806ce3fc853129b152a291dc28fdc31c","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"b34deb3c-c622-495e-a426-7a88a49d6650","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.7910483} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"806ce3fc853129b152a291dc28fdc31c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"806ce3fc853129b152a291dc28fdc31c"} device-1 | {"level":"info","message":"GET /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24? 200 8ms","method":"GET","requestID":"806ce3fc853129b152a291dc28fdc31c","responseTime":8,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"806ce3fc853129b152a291dc28fdc31c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71559,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cc7d6b737c0419514015b2e1cbe2c0ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"7d011c1e-63b8-4926-b808-194883171738","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.8290284} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac"} gateway-1 | {"time_local":"25/Mar/2025:13:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/150153f7-815b-4d70-8da8-0528bdf9e600? 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":"cc7d6b737c0419514015b2e1cbe2c0ac"} device-1 | {"level":"info","message":"GET /devices/150153f7-815b-4d70-8da8-0528bdf9e600? 200 34ms","method":"GET","requestID":"cc7d6b737c0419514015b2e1cbe2c0ac","responseTime":34,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg","level":"info","message":"auth send jwt","requestID":"0288044d8a85b32b15d17078db9b8aff"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0288044d8a85b32b15d17078db9b8aff","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0288044d8a85b32b15d17078db9b8aff"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.650239,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0288044d8a85b32b15d17078db9b8aff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0288044d8a85b32b15d17078db9b8aff","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to run experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to book experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully booked experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00958900-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0095b010-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637544,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00958900-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00958900-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.550416,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0095b010-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0095b010-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"56a7229f-2e12-4135-9585-efd7a77fbb87","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.8947206} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00958900-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"9e692116-7d4f-4ad9-b996-2df48e94d898","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.8952353} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0095b010-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00958900-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24? 200 34ms","method":"GET","requestID":"00958900-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0095b010-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/150153f7-815b-4d70-8da8-0528bdf9e600? 200 34ms","method":"GET","requestID":"0095b010-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Setting up experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully set up experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00a407f0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00a42f00-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully running experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00a45610-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961415,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00a407f0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00a407f0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837226,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00a42f00-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00a42f00-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60ef4603-69ee-4329-bcbe-d3017363c2cf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.9914145} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500853,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00a45610-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","rebac_allow":false,"scope_allow":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":"00a45610-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"3f483fbe-e479-4424-ac5b-cb5ed9f58674","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908863.9924388} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"58a994b0-8b11-44fc-ab6f-48f191c72792","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.0217223} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"00a407f0-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 33ms","method":"POST","requestID":"00a42f00-097c-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00253a3c-b3d1-4558-9844-a22d83f658c6#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00253a3c-b3d1-4558-9844-a22d83f658c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"075ab603-ed9c-4f21-a56b-62208f994d4b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.0248435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"060fba95-8890-4354-9708-ee3a19100468","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.0251508} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00a45610-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"0288044d8a85b32b15d17078db9b8aff","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling 200 41ms","method":"POST","requestID":"00a45610-097c-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00a407f0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24? 200 44ms","method":"GET","requestID":"00a407f0-097c-11f0-96bb-59c96fe0af16","responseTime":44,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00ab0cd0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00a42f00-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/150153f7-815b-4d70-8da8-0528bdf9e600? 200 47ms","method":"GET","requestID":"00a42f00-097c-11f0-96bb-59c96fe0af16","responseTime":47,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600?"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18ac32b4-b97a-469b-9109-133897e0e3bd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.0339892} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.338657,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00abd020-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00ab0cd0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","rebac_allow":false,"scope_allow":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":"00ab0cd0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0288044d8a85b32b15d17078db9b8aff"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"level":"info","message":"POST /experiments? 201 201ms","method":"POST","requestID":"0288044d8a85b32b15d17078db9b8aff","responseTime":201,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00ab0cd0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling 200 10ms","method":"POST","requestID":"00ab0cd0-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5fab401-5848-4fdd-a9a0-079a3c4d234b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.039489} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.796096,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00abd020-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2NH0.Fcnuylbq5Dlv7OkW_-hmBlq8Y5UfogyQeothB8zMnZ8","level":"info","message":"auth send jwt","requestID":"17199cb6767612e6e933f5652ec89be0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"00abd020-097c-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"17199cb6767612e6e933f5652ec89be0","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17199cb6767612e6e933f5652ec89be0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00abd020-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling 200 36ms","method":"POST","requestID":"00abd020-097c-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836827,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"17199cb6767612e6e933f5652ec89be0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908864,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2NH0.Fcnuylbq5Dlv7OkW_-hmBlq8Y5UfogyQeothB8zMnZ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17199cb6767612e6e933f5652ec89be0","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00b19c80-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21: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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.679775081Z"}]},"request_id":"a30daeb7-c565-4e42-a104-4f224d701ea1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.0755289} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"17199cb6767612e6e933f5652ec89be0","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f7b15d8-c9ac-4d27-9eed-1a2b335040a5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.0758734} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321318,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00b19c80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","rebac_allow":false,"scope_allow":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":"00b19c80-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17199cb6767612e6e933f5652ec89be0"} device-1 | {"level":"info","message":"GET /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24? 200 11ms","method":"GET","requestID":"17199cb6767612e6e933f5652ec89be0","responseTime":11,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24? 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":"17199cb6767612e6e933f5652ec89be0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00b19c80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling 200 8ms","method":"POST","requestID":"00b19c80-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Building connection plan","requestID":"0288044d8a85b32b15d17078db9b8aff"} 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":"6cd0263f-15a7-4070-b6b9-3a1be404dfe9"},{"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":"333c1579-f6e0-42b8-9bb1-45d598fa7348"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c815401a-36e6-4cc2-ac8d-5531ecc049a7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0288044d8a85b32b15d17078db9b8aff"} 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/150153f7-815b-4d70-8da8-0528bdf9e600"},{"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/d913c272-66ad-49d7-a5c4-9022e8b61a24"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0288044d8a85b32b15d17078db9b8aff"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2NH0.Fcnuylbq5Dlv7OkW_-hmBlq8Y5UfogyQeothB8zMnZ8","level":"info","message":"auth send jwt","requestID":"276a7179137944255531caf2fee3f9d3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"276a7179137944255531caf2fee3f9d3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"276a7179137944255531caf2fee3f9d3"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.641327,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00b32320-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908863,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2M30.atZWPOWmQYxKtx_7T2TUNoKQksx0x_pjJ1qkj80BCgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.610555,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"276a7179137944255531caf2fee3f9d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908864,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2NH0.Fcnuylbq5Dlv7OkW_-hmBlq8Y5UfogyQeothB8zMnZ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"276a7179137944255531caf2fee3f9d3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:02.774402958Z"}]},"request_id":"f68effb5-dc23-47e6-95cd-fe0e85f4bbfb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.1140015} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"276a7179137944255531caf2fee3f9d3","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"276a7179137944255531caf2fee3f9d3"} device-1 | {"level":"info","message":"GET /devices/150153f7-815b-4d70-8da8-0528bdf9e600? 200 34ms","method":"GET","requestID":"276a7179137944255531caf2fee3f9d3","responseTime":34,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/150153f7-815b-4d70-8da8-0528bdf9e600? 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":"276a7179137944255531caf2fee3f9d3"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"58a123b8-074f-41d9-8a17-b7c5e557243a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.117881} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ade9b353-81b9-415c-b5e5-a1097cb2628d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.1181207} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c'","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c'","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"00b32320-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0288044d8a85b32b15d17078db9b8aff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00c153f0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3565eece-f082-4ee7-a476-8d78c1077a77","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.1795864} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.343754,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00c153f0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00c153f0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00c153f0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling 200 8ms","method":"POST","requestID":"00c153f0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"00c68410-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3a285f4-0001-42f9-b354-59b85cd1b916","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908864.212736} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.26201,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00c68410-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","rebac_allow":false,"scope_allow":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":"00c68410-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"00c68410-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling 200 7ms","method":"POST","requestID":"00c68410-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling"} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/629dd84d-9c05-4f97-a322-a9470df4f90c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c570383964fe3325bc0e066180a3234b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c570383964fe3325bc0e066180a3234b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600"},{"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/d913c272-66ad-49d7-a5c4-9022e8b61a24"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c"}}},"level":"info","message":"received a callback","requestID":"c570383964fe3325bc0e066180a3234b"} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c570383964fe3325bc0e066180a3234b","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c570383964fe3325bc0e066180a3234b"} device-1 | {"data":{"peerconnection":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"629dd84d-9c05-4f97-a322-a9470df4f90c","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/629dd84d-9c05-4f97-a322-a9470df4f90c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14d6ab76a3fbd09e9378aa1401095551","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"14d6ab76a3fbd09e9378aa1401095551","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600"},{"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/d913c272-66ad-49d7-a5c4-9022e8b61a24"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c"}}},"level":"info","message":"received a callback","requestID":"14d6ab76a3fbd09e9378aa1401095551"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"01fe19b0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F629dd84d-9c05-4f97-a322-a9470df4f90c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f4c0d7e-950e-49a9-b66f-ed7932374717","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.2557392} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.52259,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"01fe19b0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c","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":"01fe19b0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"01fe19b0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c 200 8ms","method":"GET","requestID":"01fe19b0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"14d6ab76a3fbd09e9378aa1401095551","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"14d6ab76a3fbd09e9378aa1401095551"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0202ad90-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e380412-cf7a-4e21-a746-4ee46e83dba1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.2865317} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.080077,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0202ad90-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0202ad90-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0202ad90-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling 200 9ms","method":"POST","requestID":"0202ad90-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02048250-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5a190f8-05ab-480a-93f3-bb0f65da6d9f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.3055766} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.165629,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"02048250-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"02048250-097c-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02048250-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling 200 16ms","method":"POST","requestID":"02048250-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA","level":"info","message":"auth send jwt","requestID":"0def215332046e4d10ace522224038cb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0def215332046e4d10ace522224038cb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","requestID":"0def215332046e4d10ace522224038cb"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.642417,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0def215332046e4d10ace522224038cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908866,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0def215332046e4d10ace522224038cb","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","requestID":"0def215332046e4d10ace522224038cb"} experiment-1 | {"level":"info","message":"GET /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6 200 34ms","method":"GET","requestID":"0def215332046e4d10ace522224038cb","responseTime":34,"status":200,"url":"/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0def215332046e4d10ace522224038cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA","level":"info","message":"auth send jwt","requestID":"f0b92def235abb98a777d1619ae45325"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0b92def235abb98a777d1619ae45325","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","requestID":"f0b92def235abb98a777d1619ae45325"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.698001,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f0b92def235abb98a777d1619ae45325","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908866,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f0b92def235abb98a777d1619ae45325","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Attempting to finish experiment","requestID":"f0b92def235abb98a777d1619ae45325"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0212da30-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.781346,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0212da30-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908866,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0212da30-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"150153f7-815b-4d70-8da8-0528bdf9e600","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d913c272-66ad-49d7-a5c4-9022e8b61a24","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/629dd84d-9c05-4f97-a322-a9470df4f90c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fe70714530cd75267caf422b276ba24e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fe70714530cd75267caf422b276ba24e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F629dd84d-9c05-4f97-a322-a9470df4f90c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F629dd84d-9c05-4f97-a322-a9470df4f90c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"ee0bf2ae-b7b6-4ee7-be8a-800d12c78432","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.4262984} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"570f92af513a245e4503426aae9b302c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4831e438-c463-44ac-867c-fc8f941b20f2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.4269347} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"570f92af513a245e4503426aae9b302c","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":"closed","url":"http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600"},{"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/d913c272-66ad-49d7-a5c4-9022e8b61a24"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c"}}},"level":"info","message":"received a callback","requestID":"fe70714530cd75267caf422b276ba24e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"0212da30-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600"},{"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/d913c272-66ad-49d7-a5c4-9022e8b61a24"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c"}}},"level":"info","message":"received a callback","requestID":"570f92af513a245e4503426aae9b302c"} device-1 | {"data":{"peerconnection":"629dd84d-9c05-4f97-a322-a9470df4f90c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0212da30-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c 204 80ms","method":"DELETE","requestID":"0212da30-097c-11f0-96bb-59c96fe0af16","responseTime":80,"status":204,"url":"/peerconnections/629dd84d-9c05-4f97-a322-a9470df4f90c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"},"level":"info","message":"Successfully finished experiment","requestID":"f0b92def235abb98a777d1619ae45325"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02213210-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150153f7-815b-4d70-8da8-0528bdf9e600","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d967034f-3c65-4019-a50b-02bdf34bbd2b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.4847875} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.550441,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"02213210-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600","object_type":"device","rebac_allow":false,"scope_allow":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":"02213210-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02213210-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling 200 7ms","method":"POST","requestID":"02213210-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/150153f7-815b-4d70-8da8-0528bdf9e600/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00253a3c-b3d1-4558-9844-a22d83f658c6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00253a3c-b3d1-4558-9844-a22d83f658c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"8da0ae45-c1d9-48b8-a6c1-44f470fd439a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.4914932} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71d1771f-2d73-4207-a6cb-24701e56e19a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.4915984} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"f0b92def235abb98a777d1619ae45325","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0226b050-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd913c272-66ad-49d7-a5c4-9022e8b61a24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8237296-cd4f-4412-8fda-868257cd76cb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.5208716} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.301041,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0226b050-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24","object_type":"device","rebac_allow":false,"scope_allow":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":"0226b050-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0226b050-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling 200 7ms","method":"POST","requestID":"0226b050-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6","requestID":"f0b92def235abb98a777d1619ae45325"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0b92def235abb98a777d1619ae45325"} experiment-1 | {"level":"info","message":"DELETE /experiments/00253a3c-b3d1-4558-9844-a22d83f658c6 204 238ms","method":"DELETE","requestID":"f0b92def235abb98a777d1619ae45325","responseTime":238,"status":204,"url":"/experiments/00253a3c-b3d1-4558-9844-a22d83f658c6"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.882","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"9aebb62368eecf5e1635a51872b62102"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.874","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0d1fae57133dc7f0ab91d354b43cc2a0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"fe70714530cd75267caf422b276ba24e","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"fe70714530cd75267caf422b276ba24e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"570f92af513a245e4503426aae9b302c","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"570f92af513a245e4503426aae9b302c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA","level":"info","message":"auth send jwt","requestID":"2c72edacc1abb5ea7698f181ea9c8c74"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2c72edacc1abb5ea7698f181ea9c8c74"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/150153f7-815b-4d70-8da8-0528bdf9e600' closed"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.786481,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2c72edacc1abb5ea7698f181ea9c8c74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908866,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d913c272-66ad-49d7-a5c4-9022e8b61a24' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f4af7e7b-141c-4b14-a191-33333112474f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.6648202} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df9da2db-1357-42e5-8239-39a2198585f0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.6697712} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"01f93682-5967-4098-8e33-0484531b4197","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.680325} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c01392f8-5c5d-41c9-a379-31b86b8a4e67","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.6804411} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"089973d0-e0bd-44f4-9771-34b1d52a010d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.7093759} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2c72edacc1abb5ea7698f181ea9c8c74"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c72edacc1abb5ea7698f181ea9c8c74"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"2c72edacc1abb5ea7698f181ea9c8c74","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA","level":"info","message":"auth send jwt","requestID":"d905b84a8639e0b1c857db0c3f218167"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d905b84a8639e0b1c857db0c3f218167","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d905b84a8639e0b1c857db0c3f218167"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.767447,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d905b84a8639e0b1c857db0c3f218167","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908866,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2Nn0.1Hfb8oIQ-XU7L1ko_YOVWq_m3m_jZE3HcOxa1ool-KA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d905b84a8639e0b1c857db0c3f218167","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c36ad4a2-a97f-4ef0-b0db-c94f94ce7e68","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.7570372} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d905b84a8639e0b1c857db0c3f218167","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"075125e6-26a3-4283-a908-bf655a8521d4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.7621987} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d905b84a8639e0b1c857db0c3f218167","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"5da093a2-86bf-4c27-937d-b7efc3100d31","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.774948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1851c62-33cd-4f89-9d0b-e1a40d7b69a0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.7751367} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d905b84a8639e0b1c857db0c3f218167","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"717a09cb-a963-45fc-a4aa-89503e3d44c3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908866.8037755} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d905b84a8639e0b1c857db0c3f218167","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d905b84a8639e0b1c857db0c3f218167"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"d905b84a8639e0b1c857db0c3f218167","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d905b84a8639e0b1c857db0c3f218167"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"404e9a549c8f66193467f0d223f73106"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"404e9a549c8f66193467f0d223f73106"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"404e9a549c8f66193467f0d223f73106","responseTime":23,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","responseTime":24,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661844,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"404e9a549c8f66193467f0d223f73106","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"404e9a549c8f66193467f0d223f73106","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683336,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"dbf78d65-1d39-4da6-9c3c-a37acbd8b417","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.6748233} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"404e9a549c8f66193467f0d223f73106","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"a0cce6b5-e416-4f02-85f8-29e8dc796e78","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.6753333} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d70de423-9dc7-41f7-bcd8-724f349695d2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.678776} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"404e9a549c8f66193467f0d223f73106","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60995a82-575e-4321-b711-ab7ec8514672","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.6797745} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"6c787a12-44fa-4ea4-b8fd-43c5442c5716","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.6819375} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f62ad915-9225-4c79-96c9-df532d01feca HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d"} device-1 | {"level":"info","message":"PATCH /devices/f62ad915-9225-4c79-96c9-df532d01feca 200 16ms","method":"PATCH","requestID":"e4ec2b3ed83d2063b30de8e3d41d593d","responseTime":16,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"a2e8c5573ded996c265afd2d63849ce8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2e8c5573ded996c265afd2d63849ce8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a2e8c5573ded996c265afd2d63849ce8"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62615,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a2e8c5573ded996c265afd2d63849ce8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a2e8c5573ded996c265afd2d63849ce8","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"2a1bc6bf-00dd-4950-a3da-25d65b7755a4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.7147195} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"404e9a549c8f66193467f0d223f73106","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"404e9a549c8f66193467f0d223f73106"} device-1 | {"level":"info","message":"PATCH /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3 200 51ms","method":"PATCH","requestID":"404e9a549c8f66193467f0d223f73106","responseTime":51,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3"} gateway-1 | {"time_local":"25/Mar/2025:13:21:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"404e9a549c8f66193467f0d223f73106"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"7704ec00146c61ed2d6332e1000afece"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7704ec00146c61ed2d6332e1000afece","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7704ec00146c61ed2d6332e1000afece"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692149,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7704ec00146c61ed2d6332e1000afece","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7704ec00146c61ed2d6332e1000afece","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a2e8c5573ded996c265afd2d63849ce8"} gateway-1 | {"time_local":"25/Mar/2025:13:21:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/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.14","requestID":"a2e8c5573ded996c265afd2d63849ce8"} device-1 | {"level":"info","message":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/websocket 200 39ms","method":"POST","requestID":"a2e8c5573ded996c265afd2d63849ce8","responseTime":39,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7704ec00146c61ed2d6332e1000afece"} gateway-1 | {"time_local":"25/Mar/2025:13:21:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/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.14","requestID":"7704ec00146c61ed2d6332e1000afece"} device-1 | {"level":"info","message":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/websocket 200 13ms","method":"POST","requestID":"7704ec00146c61ed2d6332e1000afece","responseTime":13,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"4c54167b870db5c4f4709516b6a8cb38"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4c54167b870db5c4f4709516b6a8cb38","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4c54167b870db5c4f4709516b6a8cb38"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.838365,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4c54167b870db5c4f4709516b6a8cb38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"4c54167b870db5c4f4709516b6a8cb38","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"b4110922-678d-42c4-a337-afd7b6d4dc9f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.8124053} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4c54167b870db5c4f4709516b6a8cb38","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4c54167b870db5c4f4709516b6a8cb38"} gateway-1 | {"time_local":"25/Mar/2025:13:21:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f62ad915-9225-4c79-96c9-df532d01feca? 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":"4c54167b870db5c4f4709516b6a8cb38"} device-1 | {"level":"info","message":"GET /devices/f62ad915-9225-4c79-96c9-df532d01feca? 200 33ms","method":"GET","requestID":"4c54167b870db5c4f4709516b6a8cb38","responseTime":33,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"7d82073eeaef8237eec6fca57257653a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d82073eeaef8237eec6fca57257653a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7d82073eeaef8237eec6fca57257653a"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227711,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7d82073eeaef8237eec6fca57257653a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7d82073eeaef8237eec6fca57257653a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"3af2570b-0dac-452c-a34b-a51dfdad43a6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.8271563} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7d82073eeaef8237eec6fca57257653a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7d82073eeaef8237eec6fca57257653a"} device-1 | {"level":"info","message":"GET /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3? 200 10ms","method":"GET","requestID":"7d82073eeaef8237eec6fca57257653a","responseTime":10,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3? 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":"7d82073eeaef8237eec6fca57257653a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk","level":"info","message":"auth send jwt","requestID":"b0df6e80bff368bdc00e6d4132138229"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"b0df6e80bff368bdc00e6d4132138229","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b0df6e80bff368bdc00e6d4132138229"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.776068,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b0df6e80bff368bdc00e6d4132138229","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b0df6e80bff368bdc00e6d4132138229","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to run experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to book experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully booked experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02f794e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02f7bbf0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617781,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"02f794e0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"02f794e0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839134,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"02f7bbf0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"02f7bbf0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"8e42d541-2d38-47d4-a39f-f05f017e78df","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.8947449} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"02f794e0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"cdfac98d-0475-493d-9a00-e3e7250d471c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.8954358} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"02f7bbf0-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02f794e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f62ad915-9225-4c79-96c9-df532d01feca? 200 13ms","method":"GET","requestID":"02f794e0-097c-11f0-96bb-59c96fe0af16","responseTime":13,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02f7bbf0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3? 200 12ms","method":"GET","requestID":"02f7bbf0-097c-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Setting up experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully set up experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0301a700-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0301ce10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0301f520-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully running experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938748,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0301a700-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0301a700-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664337,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0301ce10-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0301ce10-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13cc3895-4ff8-499b-88e9-acbbd0df67c0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.959945} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.835174,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0301f520-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0301f520-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"655d35a0-a808-4357-a124-7058a3c30757","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.961456} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0301ce10-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"d99f956c-4cce-4312-8bdf-90fdd67e3604","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.9638019} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0301a700-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0301f520-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling 200 11ms","method":"POST","requestID":"0301f520-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0301ce10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3? 200 15ms","method":"GET","requestID":"0301ce10-097c-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03041800-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7fd431c-e38d-4441-a52b-fc1bbc91fda3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7fd431c-e38d-4441-a52b-fc1bbc91fda3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"f8a952bb-9edb-4a65-9b02-014bfff4a1da","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.969142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6412cf04-833c-4c46-b093-b3363bdf62a5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.9693987} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0301a700-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f62ad915-9225-4c79-96c9-df532d01feca? 200 18ms","method":"GET","requestID":"0301a700-097c-11f0-96bb-59c96fe0af16","responseTime":18,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b0df6e80bff368bdc00e6d4132138229","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0304b440-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f0cb97a-b717-419a-9e76-f708ee9ea12b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.9731581} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.561057,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"03041800-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03041800-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8767a83-f0b7-456d-a920-f83cdbc04df4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908867.9766543} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b0df6e80bff368bdc00e6d4132138229"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.157911,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"level":"info","message":"POST /experiments? 201 143ms","method":"POST","requestID":"b0df6e80bff368bdc00e6d4132138229","responseTime":143,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0304b440-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","rebac_allow":false,"scope_allow":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":"0304b440-097c-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03041800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling 200 35ms","method":"POST","requestID":"03041800-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0304b440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling 200 34ms","method":"POST","requestID":"0304b440-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2OH0.wmsQHWuSiLyJLP7fL7yNhxb-3tWLRarRS9Kt024B8Lw","level":"info","message":"auth send jwt","requestID":"e102df2c671114b4a38ccf6fe558c8da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e102df2c671114b4a38ccf6fe558c8da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e102df2c671114b4a38ccf6fe558c8da"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"030a3280-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:49992","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.303263,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e102df2c671114b4a38ccf6fe558c8da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908868,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2OH0.wmsQHWuSiLyJLP7fL7yNhxb-3tWLRarRS9Kt024B8Lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e102df2c671114b4a38ccf6fe558c8da","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"831fd448-0b5d-4f2f-92d8-e787f833d3fd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.0130541} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.474046,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"030a3280-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"030a3280-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.680294099Z"}]},"request_id":"a53f2605-567b-4abf-8ee8-28dc8be57f63","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.0150692} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e102df2c671114b4a38ccf6fe558c8da","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"030a3280-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling 200 10ms","method":"POST","requestID":"030a3280-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e102df2c671114b4a38ccf6fe558c8da"} gateway-1 | {"time_local":"25/Mar/2025:13:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f62ad915-9225-4c79-96c9-df532d01feca? 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":"e102df2c671114b4a38ccf6fe558c8da"} device-1 | {"level":"info","message":"GET /devices/f62ad915-9225-4c79-96c9-df532d01feca? 200 12ms","method":"GET","requestID":"e102df2c671114b4a38ccf6fe558c8da","responseTime":12,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Building connection plan","requestID":"b0df6e80bff368bdc00e6d4132138229"} 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":"77b84629-8bfb-4157-a91d-179a4ed91bba"},{"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":"5bde98c5-e9b5-420c-bf78-949be3b9fee0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"acc79b77-49c2-4a1e-a859-48bead2bcdf9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b0df6e80bff368bdc00e6d4132138229"} 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/f62ad915-9225-4c79-96c9-df532d01feca"},{"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/f4e6006f-77f7-46d4-a284-a914bebc8ce3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b0df6e80bff368bdc00e6d4132138229"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2OH0.wmsQHWuSiLyJLP7fL7yNhxb-3tWLRarRS9Kt024B8Lw","level":"info","message":"auth send jwt","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.925079,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908867,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2N30.Jf9Qfc2Hww6nzIPoDpJcNsTN9Sl_0KaiMkAa5sQx_sk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824242,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908868,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg2OH0.wmsQHWuSiLyJLP7fL7yNhxb-3tWLRarRS9Kt024B8Lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:06.774920081Z"}]},"request_id":"1133b4c7-008d-4c61-b069-1efe247c317e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.0547533} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b955024a-841f-432c-8ae5-3a7805d4fe9c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.0584416} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3510164-2cf6-41ca-8f18-1011239b7f9f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.0587533} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4"} gateway-1 | {"time_local":"25/Mar/2025:13:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3? 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":"c5e24a5c3cdc2e6eb815e785c5bf3ea4"} device-1 | {"level":"info","message":"GET /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3? 200 39ms","method":"GET","requestID":"c5e24a5c3cdc2e6eb815e785c5bf3ea4","responseTime":39,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7'","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7'","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"030c2e50-097c-11f0-96bb-59c96fe0af16"} 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":"030c2e50-097c-11f0-96bb-59c96fe0af16","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":"030c2e50-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b0df6e80bff368bdc00e6d4132138229"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"031f8f40-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a94a602-e9d1-443f-9323-975d86bd7ab8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.152712} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.193526,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"031f8f40-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","rebac_allow":false,"scope_allow":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":"031f8f40-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"031f8f40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling 200 8ms","method":"POST","requestID":"031f8f40-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0320eed0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58a43b33-7718-48ec-8487-5ac3d8814701","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908868.161381} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.225798,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0320eed0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","rebac_allow":false,"scope_allow":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":"0320eed0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0320eed0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling 200 7ms","method":"POST","requestID":"0320eed0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling"} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/50f0cf34-9d96-4d64-9df4-b34276347ea7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8e48d16a37396ddfb26008e11284ac86","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8e48d16a37396ddfb26008e11284ac86","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/f62ad915-9225-4c79-96c9-df532d01feca"},{"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/f4e6006f-77f7-46d4-a284-a914bebc8ce3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7"}}},"level":"info","message":"received a callback","requestID":"8e48d16a37396ddfb26008e11284ac86"} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"8e48d16a37396ddfb26008e11284ac86","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","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":"8e48d16a37396ddfb26008e11284ac86"} device-1 | {"data":{"peerconnection":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"50f0cf34-9d96-4d64-9df4-b34276347ea7","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/50f0cf34-9d96-4d64-9df4-b34276347ea7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"55e664032a3b697c611644ce729e7b2f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"55e664032a3b697c611644ce729e7b2f","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/f62ad915-9225-4c79-96c9-df532d01feca"},{"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/f4e6006f-77f7-46d4-a284-a914bebc8ce3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7"}}},"level":"info","message":"received a callback","requestID":"55e664032a3b697c611644ce729e7b2f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"04579a10-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F50f0cf34-9d96-4d64-9df4-b34276347ea7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20a34e83-bbc2-40a9-9e22-d116c5426963","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.1973999} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.386351,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"04579a10-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7","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":"04579a10-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"04579a10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7 200 7ms","method":"GET","requestID":"04579a10-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"55e664032a3b697c611644ce729e7b2f","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"55e664032a3b697c611644ce729e7b2f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"045bdfd0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2527342c-1f55-4eeb-8518-b93ac94f73f8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.225941} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25139,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"045bdfd0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"045bdfd0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"045bdfd0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling 200 8ms","method":"POST","requestID":"045bdfd0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"045d6670-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0169aae3-10ea-47c9-bce4-b251c3f46a79","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.2400007} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.923148,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"045d6670-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","rebac_allow":false,"scope_allow":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":"045d6670-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"045d6670-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling 200 12ms","method":"POST","requestID":"045d6670-097c-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak","level":"info","message":"auth send jwt","requestID":"db7f61c86c5ebc67ef975a3c7583ff55"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"db7f61c86c5ebc67ef975a3c7583ff55","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","requestID":"db7f61c86c5ebc67ef975a3c7583ff55"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.973582,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"db7f61c86c5ebc67ef975a3c7583ff55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908870,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"db7f61c86c5ebc67ef975a3c7583ff55","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","requestID":"db7f61c86c5ebc67ef975a3c7583ff55"} experiment-1 | {"level":"info","message":"GET /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3 200 11ms","method":"GET","requestID":"db7f61c86c5ebc67ef975a3c7583ff55","responseTime":11,"status":200,"url":"/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db7f61c86c5ebc67ef975a3c7583ff55"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak","level":"info","message":"auth send jwt","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.898629,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908870,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Attempting to finish experiment","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0470a050-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.755189,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0470a050-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908870,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0470a050-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f62ad915-9225-4c79-96c9-df532d01feca","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f4e6006f-77f7-46d4-a284-a914bebc8ce3","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/50f0cf34-9d96-4d64-9df4-b34276347ea7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F50f0cf34-9d96-4d64-9df4-b34276347ea7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F50f0cf34-9d96-4d64-9df4-b34276347ea7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"5a06d907-bdf4-4dca-9c9a-7da3ed1afdf5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.3722804} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b3864e20cd30de773621945ec7addf7f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d472bc0f-bc7d-4369-a707-ddbb0ca9b6ba","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.3725665} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b3864e20cd30de773621945ec7addf7f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"acd819af26d741f95b0b8bd44d20afc6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f62ad915-9225-4c79-96c9-df532d01feca"},{"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/f4e6006f-77f7-46d4-a284-a914bebc8ce3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7"}}},"level":"info","message":"received a callback","requestID":"b3864e20cd30de773621945ec7addf7f"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"0470a050-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"acd819af26d741f95b0b8bd44d20afc6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca"},{"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/f4e6006f-77f7-46d4-a284-a914bebc8ce3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7"}}},"level":"info","message":"received a callback","requestID":"acd819af26d741f95b0b8bd44d20afc6"} device-1 | {"data":{"peerconnection":"50f0cf34-9d96-4d64-9df4-b34276347ea7","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0470a050-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7 204 56ms","method":"DELETE","requestID":"0470a050-097c-11f0-96bb-59c96fe0af16","responseTime":56,"status":204,"url":"/peerconnections/50f0cf34-9d96-4d64-9df4-b34276347ea7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"},"level":"info","message":"Successfully finished experiment","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"047b75c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62ad915-9225-4c79-96c9-df532d01feca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"060353d3-50c8-427c-a87c-b97ceec1e6fb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.4534667} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.77611,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"047b75c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"047b75c0-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"047b75c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling 200 29ms","method":"POST","requestID":"047b75c0-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/devices/f62ad915-9225-4c79-96c9-df532d01feca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"048030b0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7fd431c-e38d-4441-a52b-fc1bbc91fda3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7fd431c-e38d-4441-a52b-fc1bbc91fda3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"1de8a6fc-b9f0-4840-a9ec-1a3acda9d907","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.4628134} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4e6006f-77f7-46d4-a284-a914bebc8ce3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bd64561-130a-4068-948c-7c7efae55cc7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.4629714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a4e5ec2-6120-4540-9ad3-7de8678d8a4e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.4631238} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291077,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"048030b0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"048030b0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"048030b0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling 200 8ms","method":"POST","requestID":"048030b0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3 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":"e79cd81be8f8bd92dbbbdabcc08bb39b"} experiment-1 | {"level":"info","message":"DELETE /experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3 204 241ms","method":"DELETE","requestID":"e79cd81be8f8bd92dbbbdabcc08bb39b","responseTime":241,"status":204,"url":"/experiments/b7fd431c-e38d-4441-a52b-fc1bbc91fda3"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.837","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"771529613acda13d343b2cf5cee8686d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.829","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"b0cf630b3d3973922b8e7375ed5df39e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"b3864e20cd30de773621945ec7addf7f","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","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":"b3864e20cd30de773621945ec7addf7f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"acd819af26d741f95b0b8bd44d20afc6","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","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":"acd819af26d741f95b0b8bd44d20afc6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak","level":"info","message":"auth send jwt","requestID":"3d1ebefdfec426c3a015e7a9ed978581"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f4e6006f-77f7-46d4-a284-a914bebc8ce3' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d1ebefdfec426c3a015e7a9ed978581","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3d1ebefdfec426c3a015e7a9ed978581"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9738,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3d1ebefdfec426c3a015e7a9ed978581","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908870,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3d1ebefdfec426c3a015e7a9ed978581","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f62ad915-9225-4c79-96c9-df532d01feca' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9c7ca6a3-a2a2-4c09-a833-a95e3a8d8a53","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.5895004} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3d1ebefdfec426c3a015e7a9ed978581","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f104d35a-6472-46af-ac4c-ce1c24de340d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.5950208} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3d1ebefdfec426c3a015e7a9ed978581","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"d1d0d2e2-f7fe-4088-b6a8-67632bfe7ded","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.6066775} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c182a53-a76e-4b05-842a-d52b0b589dc3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.6067593} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"3d1ebefdfec426c3a015e7a9ed978581","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.606646577Z"}]},"request_id":"09ba83c0-dd4c-4119-acde-1f7e326aa66d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.6111786} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3d1ebefdfec426c3a015e7a9ed978581","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3d1ebefdfec426c3a015e7a9ed978581"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d1ebefdfec426c3a015e7a9ed978581"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"3d1ebefdfec426c3a015e7a9ed978581","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak","level":"info","message":"auth send jwt","requestID":"a3e94a77334b564f72dd0b00f8056f3e"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"a3e94a77334b564f72dd0b00f8056f3e","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a3e94a77334b564f72dd0b00f8056f3e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.810091,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a3e94a77334b564f72dd0b00f8056f3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908870,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3MH0.cHiugpWAAWzDY9a92dOFcFHq5qmr9Oypd88WgWM5xak"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3e94a77334b564f72dd0b00f8056f3e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"195a8b53-906b-4352-8cd0-d8f07cbee7f2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.6898148} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"a3e94a77334b564f72dd0b00f8056f3e","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98dec39a-f488-46eb-bdc2-02b22296fe4b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.6947765} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a3e94a77334b564f72dd0b00f8056f3e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"19b76b05-1848-47f4-beb6-47de9164fc0c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.7048967} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d95cac59-5817-42bd-99a8-141cc41fae9e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.704984} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a3e94a77334b564f72dd0b00f8056f3e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.704831164Z"}]},"request_id":"6074c121-608e-4b4b-bd34-436b7faffc80","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908870.7100189} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3e94a77334b564f72dd0b00f8056f3e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a3e94a77334b564f72dd0b00f8056f3e"} gateway-1 | {"time_local":"25/Mar/2025:13:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3e94a77334b564f72dd0b00f8056f3e"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"a3e94a77334b564f72dd0b00f8056f3e","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d712de6e794fcf937c0c36ef75612e71","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d712de6e794fcf937c0c36ef75612e71","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/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":"d712de6e794fcf937c0c36ef75612e71"} device-1 | {"level":"info","message":"OPTIONS /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/websocket 200 1ms","method":"OPTIONS","requestID":"d712de6e794fcf937c0c36ef75612e71","responseTime":1,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"db4ebdf6bf747ea2ff1cc863d08be3fb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"db4ebdf6bf747ea2ff1cc863d08be3fb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/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":"db4ebdf6bf747ea2ff1cc863d08be3fb"} device-1 | {"level":"info","message":"OPTIONS /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/websocket 200 1ms","method":"OPTIONS","requestID":"db4ebdf6bf747ea2ff1cc863d08be3fb","responseTime":1,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Mn0.jeUu5HBXgpfWizdi2HpJxy4pbX2cjdyf9jdhEPC-gag","level":"info","message":"auth send jwt","requestID":"3049e5b0387faab8ed755c773df60075"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3049e5b0387faab8ed755c773df60075","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3049e5b0387faab8ed755c773df60075"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Mn0.jeUu5HBXgpfWizdi2HpJxy4pbX2cjdyf9jdhEPC-gag","level":"info","message":"auth send jwt","requestID":"f4bb560fca71381da4ef397e8eae84f1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4bb560fca71381da4ef397e8eae84f1","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f4bb560fca71381da4ef397e8eae84f1"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067566,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3049e5b0387faab8ed755c773df60075","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908872,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Mn0.jeUu5HBXgpfWizdi2HpJxy4pbX2cjdyf9jdhEPC-gag"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3049e5b0387faab8ed755c773df60075","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242722,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4bb560fca71381da4ef397e8eae84f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908872,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Mn0.jeUu5HBXgpfWizdi2HpJxy4pbX2cjdyf9jdhEPC-gag"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4bb560fca71381da4ef397e8eae84f1","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3049e5b0387faab8ed755c773df60075"} device-1 | {"level":"info","message":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/websocket 200 24ms","method":"POST","requestID":"3049e5b0387faab8ed755c773df60075","responseTime":24,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3049e5b0387faab8ed755c773df60075"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f4bb560fca71381da4ef397e8eae84f1"} device-1 | {"level":"info","message":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/websocket 200 30ms","method":"POST","requestID":"f4bb560fca71381da4ef397e8eae84f1","responseTime":30,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4bb560fca71381da4ef397e8eae84f1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"4c0d799a1eb9323b0d36d77ca1733782"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4c0d799a1eb9323b0d36d77ca1733782","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4c0d799a1eb9323b0d36d77ca1733782"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.381755,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4c0d799a1eb9323b0d36d77ca1733782","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4c0d799a1eb9323b0d36d77ca1733782","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.606646577Z"}]},"request_id":"113fb2a1-1643-4de0-8e0d-6c51ce2243ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.0588746} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4c0d799a1eb9323b0d36d77ca1733782","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4c0d799a1eb9323b0d36d77ca1733782"} device-1 | {"level":"info","message":"GET /devices/9bdbc1f8-eb42-417a-8508-d14016046da5? 200 9ms","method":"GET","requestID":"4c0d799a1eb9323b0d36d77ca1733782","responseTime":9,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bdbc1f8-eb42-417a-8508-d14016046da5? 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":"4c0d799a1eb9323b0d36d77ca1733782"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"415ed718a46ca680c2f4a0a3e35f0c09"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"415ed718a46ca680c2f4a0a3e35f0c09","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"415ed718a46ca680c2f4a0a3e35f0c09"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665326,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"415ed718a46ca680c2f4a0a3e35f0c09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"415ed718a46ca680c2f4a0a3e35f0c09","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.704831164Z"}]},"request_id":"712cf78d-855e-4c14-96c8-bd8b727a38de","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.0959718} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"415ed718a46ca680c2f4a0a3e35f0c09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"415ed718a46ca680c2f4a0a3e35f0c09"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1? 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":"415ed718a46ca680c2f4a0a3e35f0c09"} device-1 | {"level":"info","message":"GET /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1? 200 34ms","method":"GET","requestID":"415ed718a46ca680c2f4a0a3e35f0c09","responseTime":34,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"967128e260861dfeea9af8fa69963342"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"967128e260861dfeea9af8fa69963342","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"967128e260861dfeea9af8fa69963342"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.905241,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"967128e260861dfeea9af8fa69963342","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"967128e260861dfeea9af8fa69963342","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to run experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to book experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully booked experiment","requestID":"967128e260861dfeea9af8fa69963342"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"061c2d70-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"061c5480-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896695,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"061c2d70-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"061c2d70-097c-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72532,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"061c5480-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"061c5480-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.606646577Z"}]},"request_id":"6c6ceed8-2604-4494-a970-f8d90cab13fc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.1901035} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"061c2d70-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.704831164Z"}]},"request_id":"831351a4-8d7e-409d-932a-35f44346761f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.1928759} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"061c2d70-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9bdbc1f8-eb42-417a-8508-d14016046da5? 200 34ms","method":"GET","requestID":"061c2d70-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"061c5480-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"061c5480-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1? 200 35ms","method":"GET","requestID":"061c5480-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Setting up experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully set up experiment","requestID":"967128e260861dfeea9af8fa69963342"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"062a5e40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"062a8550-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"062aac60-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779624,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"062a5e40-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully running experiment","requestID":"967128e260861dfeea9af8fa69963342"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"062a5e40-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92758,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"062a8550-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"062a8550-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6356f52d-71c3-4087-b867-67560feba501","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.259933} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.56833,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"062aac60-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"062aac60-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.704831164Z"}]},"request_id":"df1c0835-b3fa-457e-ad7f-66996df43959","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.2619345} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"062a8550-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.606646577Z"}]},"request_id":"e4565059-9030-4cce-8d99-97b52e3d160f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.263875} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"062a5e40-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"062aac60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling 200 11ms","method":"POST","requestID":"062aac60-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"062ca830-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"062a8550-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1? 200 16ms","method":"GET","requestID":"062a8550-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"062a5e40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9bdbc1f8-eb42-417a-8508-d14016046da5? 200 19ms","method":"GET","requestID":"062a5e40-097c-11f0-96bb-59c96fe0af16","responseTime":19,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc8c78226-7085-48a8-8155-b2233e610a0b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc8c78226-7085-48a8-8155-b2233e610a0b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"b4eb8e48-4c72-42d1-86d2-8e6f5b8d2a85","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.2702136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac44f8e9-381f-4f30-9803-a34e05cfdc55","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.2705047} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"967128e260861dfeea9af8fa69963342","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55409d1c-31bc-4f39-8a6d-1e44fc80652b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.273155} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"062d9290-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838636,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"062ca830-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"062ca830-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"062ca830-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"967128e260861dfeea9af8fa69963342"} device-1 | {"level":"info","message":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling 200 10ms","method":"POST","requestID":"062ca830-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"level":"info","message":"POST /experiments? 201 175ms","method":"POST","requestID":"967128e260861dfeea9af8fa69963342","responseTime":175,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"893becf3-a225-4b84-be3e-d1e88a2d6684","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.2784383} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.591357,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"062d9290-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"062d9290-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"11cb47c65f360161987830b300d7c037"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11cb47c65f360161987830b300d7c037","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"062d9290-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling 200 9ms","method":"POST","requestID":"062d9290-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"11cb47c65f360161987830b300d7c037"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"062f4040-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793773,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"11cb47c65f360161987830b300d7c037","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"11cb47c65f360161987830b300d7c037","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6939a88f-0190-442e-94c6-f8e71b64f0d9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.2889342} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.035524,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"062f4040-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"062f4040-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.606646577Z"}]},"request_id":"bd8fe4f9-73ac-423b-912d-1b48017991f4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.2904434} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"11cb47c65f360161987830b300d7c037","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"062f4040-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling 200 10ms","method":"POST","requestID":"062f4040-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"11cb47c65f360161987830b300d7c037"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bdbc1f8-eb42-417a-8508-d14016046da5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11cb47c65f360161987830b300d7c037"} device-1 | {"level":"info","message":"GET /devices/9bdbc1f8-eb42-417a-8508-d14016046da5? 200 12ms","method":"GET","requestID":"11cb47c65f360161987830b300d7c037","responseTime":12,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"967128e260861dfeea9af8fa69963342"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Building connection plan","requestID":"967128e260861dfeea9af8fa69963342"} 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":"80540214-37c5-458d-a153-0a25f55b3a89"},{"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":"569499d5-83f2-42f0-a170-32290dac7fb8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b3e94aaf-39c2-43e4-8fce-3e35e028bfba"}]},"level":"info","message":"Built pairwise service configurations","requestID":"967128e260861dfeea9af8fa69963342"} 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/9bdbc1f8-eb42-417a-8508-d14016046da5"},{"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/4619f76e-dcb8-4b61-86e1-d9de35da78d1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"967128e260861dfeea9af8fa69963342"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"056ea4edfa1d8bc892828e01ad1a9c54"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"056ea4edfa1d8bc892828e01ad1a9c54","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.720136,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"06313c10-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"056ea4edfa1d8bc892828e01ad1a9c54"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624845,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"056ea4edfa1d8bc892828e01ad1a9c54","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"056ea4edfa1d8bc892828e01ad1a9c54","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:10.704831164Z"}]},"request_id":"d1397d0a-efdf-4d33-8a85-9b2257574484","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.3083448} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"056ea4edfa1d8bc892828e01ad1a9c54","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"68545302-0cdb-492d-bb16-bdb1a602c561","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.3093252} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b37ea56-613c-4076-9e7a-7f8ea9b34090","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.3095403} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"056ea4edfa1d8bc892828e01ad1a9c54"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1? 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":"056ea4edfa1d8bc892828e01ad1a9c54"} device-1 | {"level":"info","message":"GET /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1? 200 11ms","method":"GET","requestID":"056ea4edfa1d8bc892828e01ad1a9c54","responseTime":11,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e'","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e'","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} 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":"06313c10-097c-11f0-96bb-59c96fe0af16","responseTime":24,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"06313c10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"967128e260861dfeea9af8fa69963342"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0638dd30-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61ebb8db-138a-46e2-9801-8264c87a81d7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.3509138} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244954,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0638dd30-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","rebac_allow":false,"scope_allow":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":"0638dd30-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0638dd30-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling 200 34ms","method":"POST","requestID":"0638dd30-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling"} device-1 | {"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"063e8280-097c-11f0-96bb-59c96fe0af16"} device-1 | {"content":{"canTrickle":true},"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} device-1 | {"device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7da37a51-c321-4567-a067-1157a37184fc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.3886347} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.710706,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"063e8280-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"063e8280-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"063e8280-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling 200 9ms","method":"POST","requestID":"063e8280-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1244559472058552074 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:maY9\r\na=ice-pwd:EZk51OYmloG4Av54YWuQSmLf\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CF:05:65:5F:76:AA:67:DF:35:67:02:27:CA:FA:A3:77:DD:06:1E:99:C5:A6:7C:06:03:17:3F:36:78:8C:E9: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":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6692559274007433191 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:G5qT\r\na=ice-pwd:TfNanbcbpipdNLvUp3Km35A2\r\na=ice-options:trickle\r\na=fingerprint:sha-256 72:9D:21:A2:13:E0:C2:C9:65:2D:16:98:7F:19:15:32:B0:C5:5B:84:F0:C8:CE:4E:BD:5A:CA:F2:DB:0C:E4:77\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:91843642 1 udp 2113937151 4ba461ba-5ca0-4119-a33f-3340bc1f496d.local 32982 typ host generation 0 ufrag G5qT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","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/9bdbc1f8-eb42-417a-8508-d14016046da5'"} device-1 | {"content":{"candidate":"candidate:3893877375 1 udp 2113937151 adfcd9db-ec1e-4481-bad2-2a46159c17fa.local 51082 typ host generation 0 ufrag maY9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","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/527ab358-1efc-4605-b884-0cdc800a036e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"527ab358-1efc-4605-b884-0cdc800a036e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"70b0e1217a27d1fa606626e480ecda44","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"70b0e1217a27d1fa606626e480ecda44","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5"},{"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/4619f76e-dcb8-4b61-86e1-d9de35da78d1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e"}}},"level":"info","message":"received a callback","requestID":"70b0e1217a27d1fa606626e480ecda44"} device-1 | {"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"70b0e1217a27d1fa606626e480ecda44","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"70b0e1217a27d1fa606626e480ecda44"} device-1 | {"device":"9bdbc1f8-eb42-417a-8508-d14016046da5","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"527ab358-1efc-4605-b884-0cdc800a036e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"527ab358-1efc-4605-b884-0cdc800a036e","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/527ab358-1efc-4605-b884-0cdc800a036e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"527ab358-1efc-4605-b884-0cdc800a036e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14016e7d5f71b45a173b2c060957af83","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"14016e7d5f71b45a173b2c060957af83","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/9bdbc1f8-eb42-417a-8508-d14016046da5"},{"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/4619f76e-dcb8-4b61-86e1-d9de35da78d1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e"}}},"level":"info","message":"received a callback","requestID":"14016e7d5f71b45a173b2c060957af83"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"064f9980-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F527ab358-1efc-4605-b884-0cdc800a036e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d911b6cb-d631-48bb-b88b-2acd6d496ddf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.5005152} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":22.287089,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"064f9980-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","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":"064f9980-097c-11f0-96bb-59c96fe0af16","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"064f9980-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/527ab358-1efc-4605-b884-0cdc800a036e 200 31ms","method":"GET","requestID":"064f9980-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"14016e7d5f71b45a173b2c060957af83","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"14016e7d5f71b45a173b2c060957af83"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"06565040-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15c902c7-8bfe-4a37-98a2-c4f923cacf79","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.5445268} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.455972,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"06565040-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","rebac_allow":false,"scope_allow":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":"06565040-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"06565040-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling 200 32ms","method":"POST","requestID":"06565040-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"065b8060-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2659091-3c32-4cfe-96a6-c33ff1b9fd40","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.578533} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.842381,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"83205db6bb5649f62d50264a11d768dc"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"065b8060-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"83205db6bb5649f62d50264a11d768dc","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"065b8060-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c8c78226-7085-48a8-8155-b2233e610a0b","requestID":"83205db6bb5649f62d50264a11d768dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"065b8060-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling 200 8ms","method":"POST","requestID":"065b8060-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.714012,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"83205db6bb5649f62d50264a11d768dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"83205db6bb5649f62d50264a11d768dc","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c8c78226-7085-48a8-8155-b2233e610a0b","requestID":"83205db6bb5649f62d50264a11d768dc"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c8c78226-7085-48a8-8155-b2233e610a0b HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83205db6bb5649f62d50264a11d768dc"} experiment-1 | {"level":"info","message":"GET /experiments/c8c78226-7085-48a8-8155-b2233e610a0b 200 7ms","method":"GET","requestID":"83205db6bb5649f62d50264a11d768dc","responseTime":7,"status":200,"url":"/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"b6025f1132d17833d5c14332d31b602e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b6025f1132d17833d5c14332d31b602e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c8c78226-7085-48a8-8155-b2233e610a0b","requestID":"b6025f1132d17833d5c14332d31b602e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.716122,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b6025f1132d17833d5c14332d31b602e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6025f1132d17833d5c14332d31b602e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Attempting to finish experiment","requestID":"b6025f1132d17833d5c14332d31b602e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"06632180-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.680045,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"06632180-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06632180-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","device":"4619f76e-dcb8-4b61-86e1-d9de35da78d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e","device":"9bdbc1f8-eb42-417a-8508-d14016046da5","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/527ab358-1efc-4605-b884-0cdc800a036e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"527ab358-1efc-4605-b884-0cdc800a036e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F527ab358-1efc-4605-b884-0cdc800a036e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F527ab358-1efc-4605-b884-0cdc800a036e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"fd70d49a-763a-4f34-9ef7-7c52f5f3616b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.637149} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3b988915dace24dd7c62e284a885bdaa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b5d37ea-403c-4e11-885b-bd7f77a01cb3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.6373317} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3b988915dace24dd7c62e284a885bdaa","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8282f6e66d1be1cac28920fae95b3a39","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5"},{"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/4619f76e-dcb8-4b61-86e1-d9de35da78d1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e"}}},"level":"info","message":"received a callback","requestID":"3b988915dace24dd7c62e284a885bdaa"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8282f6e66d1be1cac28920fae95b3a39","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"06632180-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5"},{"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/4619f76e-dcb8-4b61-86e1-d9de35da78d1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e"}}},"level":"info","message":"received a callback","requestID":"8282f6e66d1be1cac28920fae95b3a39"} device-1 | {"data":{"peerconnection":"527ab358-1efc-4605-b884-0cdc800a036e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"06632180-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/527ab358-1efc-4605-b884-0cdc800a036e 204 51ms","method":"DELETE","requestID":"06632180-097c-11f0-96bb-59c96fe0af16","responseTime":51,"status":204,"url":"/peerconnections/527ab358-1efc-4605-b884-0cdc800a036e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"},"level":"info","message":"Successfully finished experiment","requestID":"b6025f1132d17833d5c14332d31b602e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"066ce580-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bdbc1f8-eb42-417a-8508-d14016046da5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2eb4f5fc-b5cb-4129-9aed-4778bb347749","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.6921306} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":23.138598,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"066ce580-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bdbc1f8-eb42-417a-8508-d14016046da5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"066ce580-097c-11f0-96bb-59c96fe0af16","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"066ce580-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling 200 29ms","method":"POST","requestID":"066ce580-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/devices/9bdbc1f8-eb42-417a-8508-d14016046da5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"06717960-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4619f76e-dcb8-4b61-86e1-d9de35da78d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a23ace12-e416-4932-9101-ce0083ac296e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.7226007} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.359952,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"06717960-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"06717960-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc8c78226-7085-48a8-8155-b2233e610a0b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc8c78226-7085-48a8-8155-b2233e610a0b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"3b7b736c-46c7-4d09-aed2-b82ecbaccc73","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.723305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c844a00-579b-46b3-b6e9-fdb9217e5dd5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.7236178} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"b6025f1132d17833d5c14332d31b602e","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"06717960-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling 200 8ms","method":"POST","requestID":"06717960-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c8c78226-7085-48a8-8155-b2233e610a0b","requestID":"b6025f1132d17833d5c14332d31b602e"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c8c78226-7085-48a8-8155-b2233e610a0b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6025f1132d17833d5c14332d31b602e"} experiment-1 | {"level":"info","message":"DELETE /experiments/c8c78226-7085-48a8-8155-b2233e610a0b 204 223ms","method":"DELETE","requestID":"b6025f1132d17833d5c14332d31b602e","responseTime":223,"status":204,"url":"/experiments/c8c78226-7085-48a8-8155-b2233e610a0b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"3b988915dace24dd7c62e284a885bdaa","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.181","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b988915dace24dd7c62e284a885bdaa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"991b1f7595ea5ecc757c76f9b487353c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"991b1f7595ea5ecc757c76f9b487353c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"991b1f7595ea5ecc757c76f9b487353c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 181ms","method":"POST","requestID":"8282f6e66d1be1cac28920fae95b3a39","responseTime":181,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.185","http_referrer":"","http_user_agent":"node-fetch","requestID":"8282f6e66d1be1cac28920fae95b3a39"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"0.791","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e47b1c03c1b1f8ea040342e188949163"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2538","request_time":"0.800","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b22f569261e2f6b940d2244285bac2f5"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.435397,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"991b1f7595ea5ecc757c76f9b487353c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"991b1f7595ea5ecc757c76f9b487353c","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/9bdbc1f8-eb42-417a-8508-d14016046da5' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4619f76e-dcb8-4b61-86e1-d9de35da78d1' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"493e9e72-3114-4b6c-8969-caf80eec34f1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.8596609} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"991b1f7595ea5ecc757c76f9b487353c","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"960cafbb-231f-4ac6-9296-4e011fa219d7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.8641157} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"991b1f7595ea5ecc757c76f9b487353c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"0c59359f-747d-43ca-a614-650ba8dc3bcf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.8720405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ac50af1-cec3-4a2b-9b60-bc562bb218ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.872165} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"991b1f7595ea5ecc757c76f9b487353c","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.872019560Z"}]},"request_id":"3fb1e6d1-712b-4877-bd7d-87b07b9bb126","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.876151} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"991b1f7595ea5ecc757c76f9b487353c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"991b1f7595ea5ecc757c76f9b487353c"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"991b1f7595ea5ecc757c76f9b487353c"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"991b1f7595ea5ecc757c76f9b487353c","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc","level":"info","message":"auth send jwt","requestID":"00d38c8520b20a98e1ce607823ac0ca9"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"00d38c8520b20a98e1ce607823ac0ca9","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"00d38c8520b20a98e1ce607823ac0ca9"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.728939,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00d38c8520b20a98e1ce607823ac0ca9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908873,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3M30.cn836O3RTfgvNQ94mhKyeEzxCVBbxYJvwclX9ZPXbcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00d38c8520b20a98e1ce607823ac0ca9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7e2b57fd-e6eb-455a-8407-f19ded5e6f24","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.922609} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00d38c8520b20a98e1ce607823ac0ca9","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b8c1517-4430-41ee-bd91-38bb566db299","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.9259298} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"00d38c8520b20a98e1ce607823ac0ca9","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"c1c2db2c-c1d9-4e66-a4e6-40996d811e00","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.9620936} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"170eb5ef-9b01-417b-8ddc-2dae0073077c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.9622984} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"00d38c8520b20a98e1ce607823ac0ca9","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.962071237Z"}]},"request_id":"703e730f-406a-4733-81e2-3c26cace2f4f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908873.9652793} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00d38c8520b20a98e1ce607823ac0ca9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"00d38c8520b20a98e1ce607823ac0ca9"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"00d38c8520b20a98e1ce607823ac0ca9","responseTime":57,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00d38c8520b20a98e1ce607823ac0ca9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"163da9d88d90f57892a8147c7181cedb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"163da9d88d90f57892a8147c7181cedb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6601e023-808c-4b36-b0ba-5074afd6f759/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":"163da9d88d90f57892a8147c7181cedb"} device-1 | {"level":"info","message":"OPTIONS /devices/6601e023-808c-4b36-b0ba-5074afd6f759/websocket 200 1ms","method":"OPTIONS","requestID":"163da9d88d90f57892a8147c7181cedb","responseTime":1,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d0b0600d2a7aed1ae4228061caa4464","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4d0b0600d2a7aed1ae4228061caa4464","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/40943621-1a0a-47c5-853f-286c04776f79/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":"4d0b0600d2a7aed1ae4228061caa4464"} device-1 | {"level":"info","message":"OPTIONS /devices/40943621-1a0a-47c5-853f-286c04776f79/websocket 200 1ms","method":"OPTIONS","requestID":"4d0b0600d2a7aed1ae4228061caa4464","responseTime":1,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"a8cfc3164f31c8037ae2e8e674dc781f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a8cfc3164f31c8037ae2e8e674dc781f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a8cfc3164f31c8037ae2e8e674dc781f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"4b3f3ea200cb010030aa4aef86adc515"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4b3f3ea200cb010030aa4aef86adc515","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4b3f3ea200cb010030aa4aef86adc515"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.581094,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a8cfc3164f31c8037ae2e8e674dc781f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a8cfc3164f31c8037ae2e8e674dc781f","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309044,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4b3f3ea200cb010030aa4aef86adc515","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4b3f3ea200cb010030aa4aef86adc515","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4b3f3ea200cb010030aa4aef86adc515"} device-1 | {"level":"info","message":"POST /devices/40943621-1a0a-47c5-853f-286c04776f79/websocket 200 17ms","method":"POST","requestID":"4b3f3ea200cb010030aa4aef86adc515","responseTime":17,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/40943621-1a0a-47c5-853f-286c04776f79/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4b3f3ea200cb010030aa4aef86adc515"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a8cfc3164f31c8037ae2e8e674dc781f"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a8cfc3164f31c8037ae2e8e674dc781f"} device-1 | {"level":"info","message":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/websocket 200 26ms","method":"POST","requestID":"a8cfc3164f31c8037ae2e8e674dc781f","responseTime":26,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"d0ab1c6d4898115737403f4d7c759531"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d0ab1c6d4898115737403f4d7c759531","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0ab1c6d4898115737403f4d7c759531"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696988,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d0ab1c6d4898115737403f4d7c759531","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0ab1c6d4898115737403f4d7c759531","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.872019560Z"}]},"request_id":"25d8b5d4-5f73-4fb7-a2fb-34b1f1d9b740","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.3108685} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d0ab1c6d4898115737403f4d7c759531","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0ab1c6d4898115737403f4d7c759531"} device-1 | {"level":"info","message":"GET /devices/6601e023-808c-4b36-b0ba-5074afd6f759? 200 13ms","method":"GET","requestID":"d0ab1c6d4898115737403f4d7c759531","responseTime":13,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6601e023-808c-4b36-b0ba-5074afd6f759? 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":"d0ab1c6d4898115737403f4d7c759531"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859139,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.962071237Z"}]},"request_id":"0d0c3895-3ff1-42f8-ad61-18530cf72d63","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.3280234} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/40943621-1a0a-47c5-853f-286c04776f79? 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":"fcc9fa5bd5c301d2e5fc120c20a603ae"} device-1 | {"level":"info","message":"GET /devices/40943621-1a0a-47c5-853f-286c04776f79? 200 10ms","method":"GET","requestID":"fcc9fa5bd5c301d2e5fc120c20a603ae","responseTime":10,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"c7a19e2ccaec0ed404c468219faec95b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c7a19e2ccaec0ed404c468219faec95b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c7a19e2ccaec0ed404c468219faec95b"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.772095,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c7a19e2ccaec0ed404c468219faec95b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c7a19e2ccaec0ed404c468219faec95b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to run experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to book experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully booked experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0808bb30-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"08090950-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964968,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0808bb30-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0808bb30-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252058,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08090950-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"08090950-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.872019560Z"}]},"request_id":"5301c001-94c4-4cac-be99-fd4dca6b3f54","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.3970068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0808bb30-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.962071237Z"}]},"request_id":"cacf8bec-673d-4158-af16-00263e8afc9f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.3986664} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"08090950-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0808bb30-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/6601e023-808c-4b36-b0ba-5074afd6f759? 200 19ms","method":"GET","requestID":"0808bb30-097c-11f0-96bb-59c96fe0af16","responseTime":19,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"08090950-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/40943621-1a0a-47c5-853f-286c04776f79? 200 18ms","method":"GET","requestID":"08090950-097c-11f0-96bb-59c96fe0af16","responseTime":18,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Setting up experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully set up experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"081601a0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"081628b0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08164fc0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":20.822463,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"081601a0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"081601a0-097c-11f0-96bb-59c96fe0af16","responseTime":23,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.474829,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"081628b0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"081628b0-097c-11f0-96bb-59c96fe0af16","responseTime":24,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully running experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"942009c8-5fa2-47ac-9bfe-fb8e8dbcfa92","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.5016053} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.872019560Z"}]},"request_id":"9867af3f-9b4f-49e9-88eb-85fc35551151","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.5024984} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.756883,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08164fc0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"08164fc0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"081601a0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.962071237Z"}]},"request_id":"22234dd2-1bb2-4f2a-b6ea-a04194403da0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.503705} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"081628b0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08164fc0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling 200 32ms","method":"POST","requestID":"08164fc0-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"081601a0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/6601e023-808c-4b36-b0ba-5074afd6f759? 200 35ms","method":"GET","requestID":"081601a0-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"081628b0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/40943621-1a0a-47c5-853f-286c04776f79? 200 35ms","method":"GET","requestID":"081628b0-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"081b7fe0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"081bf510-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d7d58c9-3000-4cf0-9651-06d3d2ed4d7c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.51459} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c49b48e-94ee-4009-8aa2-1d110f085956#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c49b48e-94ee-4009-8aa2-1d110f085956","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"37414e02-95c9-48d5-8857-65b3163480de","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.515329} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dcfcf30e-7f66-4420-8f71-40c012906110","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.51557} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.567568,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"081b7fe0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","rebac_allow":false,"scope_allow":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":"081b7fe0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c7a19e2ccaec0ed404c468219faec95b","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecea27a0-2a30-4dee-b7b5-afbcadf85b6f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.5189476} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.590834,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"081b7fe0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"081bf510-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","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/40943621-1a0a-47c5-853f-286c04776f79/signaling 200 34ms","method":"POST","requestID":"081b7fe0-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"081bf510-097c-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"081bf510-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling 200 34ms","method":"POST","requestID":"081bf510-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08217350-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c7a19e2ccaec0ed404c468219faec95b"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.221","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 216ms","method":"POST","requestID":"c7a19e2ccaec0ed404c468219faec95b","responseTime":216,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5d20dcb-8e61-408c-8a9e-46c3795f85d0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.553407} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.438148,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08217350-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"08217350-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"270d0db4640196f2ed0604a136371f62"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08217350-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"270d0db4640196f2ed0604a136371f62","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/40943621-1a0a-47c5-853f-286c04776f79/signaling 200 8ms","method":"POST","requestID":"08217350-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"270d0db4640196f2ed0604a136371f62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Building connection plan","requestID":"c7a19e2ccaec0ed404c468219faec95b"} 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":"a4369c83-8142-4de2-bbed-dc8b9b77fd3b"},{"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":"269fa73e-17f6-4211-a9d1-1a5ac3165283"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"877c1956-0046-43b0-a4ea-2d6a4d7dc540"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c7a19e2ccaec0ed404c468219faec95b"} 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/40943621-1a0a-47c5-853f-286c04776f79"},{"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/6601e023-808c-4b36-b0ba-5074afd6f759"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c7a19e2ccaec0ed404c468219faec95b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695562,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"270d0db4640196f2ed0604a136371f62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"270d0db4640196f2ed0604a136371f62","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.624354,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08232100-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"08232100-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.872019560Z"}]},"request_id":"2042cc88-d904-474b-a50d-192d1b833430","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.5678594} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6601e023-808c-4b36-b0ba-5074afd6f759? 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":"270d0db4640196f2ed0604a136371f62"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"270d0db4640196f2ed0604a136371f62"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"270d0db4640196f2ed0604a136371f62","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/6601e023-808c-4b36-b0ba-5074afd6f759? 200 37ms","method":"GET","requestID":"270d0db4640196f2ed0604a136371f62","responseTime":37,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b85acb16-83c9-451f-a959-001e0f65c840","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.5969703} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"bbef5a4f-1053-45d6-bb51-1598d18aa476","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.5970771} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"aa593339b6338806926cb1729b0d6a93"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"08232100-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa593339b6338806926cb1729b0d6a93","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa593339b6338806926cb1729b0d6a93"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794189,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"aa593339b6338806926cb1729b0d6a93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aa593339b6338806926cb1729b0d6a93","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:13.962071237Z"}]},"request_id":"7c9b6978-ae0d-4a4b-b6f7-6d626e16c58b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.6065855} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aa593339b6338806926cb1729b0d6a93","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8'","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8'","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"08232100-097c-11f0-96bb-59c96fe0af16","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa593339b6338806926cb1729b0d6a93"} device-1 | {"level":"info","message":"GET /devices/40943621-1a0a-47c5-853f-286c04776f79? 200 15ms","method":"GET","requestID":"aa593339b6338806926cb1729b0d6a93","responseTime":15,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/40943621-1a0a-47c5-853f-286c04776f79? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa593339b6338806926cb1729b0d6a93"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"08232100-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","device":"40943621-1a0a-47c5-853f-286c04776f79","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/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","device":"6601e023-808c-4b36-b0ba-5074afd6f759","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/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c7a19e2ccaec0ed404c468219faec95b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0832ff80-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1938b44a-4cc7-4785-ace3-14005f5c1004","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.695318} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.277263,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} device-1 | {"device":"40943621-1a0a-47c5-853f-286c04776f79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"40943621-1a0a-47c5-853f-286c04776f79","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/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0832ff80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","rebac_allow":false,"scope_allow":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":"0832ff80-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0832ff80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling 200 39ms","method":"POST","requestID":"0832ff80-097c-11f0-96bb-59c96fe0af16","responseTime":39,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08396820-097c-11f0-96bb-59c96fe0af16"} device-1 | {"device":"6601e023-808c-4b36-b0ba-5074afd6f759","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6601e023-808c-4b36-b0ba-5074afd6f759","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 1552434241294623358 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:UY/1\r\na=ice-pwd:9J1S8EhCxMAPBQ00X090eKPw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 ED:4F:9B:E9:F4:D2:7C:8D:C1:90:BC:73:BA:22:ED:84:C9:FD:54:C6:28:46:69:67:D2:86:C6:3E:6B:B7:A3:C2\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6601e023-808c-4b36-b0ba-5074afd6f759","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5773638-e0ea-445b-9628-b59beed7b0d4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.7115064} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.5021,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08396820-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","rebac_allow":false,"scope_allow":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":"08396820-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08396820-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/40943621-1a0a-47c5-853f-286c04776f79/signaling 200 37ms","method":"POST","requestID":"08396820-097c-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4638134924267707575 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:LWVu\r\na=ice-pwd:PND4sJATCA5SqogJY5WfBVIP\r\na=ice-options:trickle\r\na=fingerprint:sha-256 89:1C:04:E3:86:ED:2E:10:54:53:B2:2E:87:81:57:96:9C:C7:1A:4C:41:3E:DA:71:9D:5D:16:7A:AA:06:C0:0F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"40943621-1a0a-47c5-853f-286c04776f79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:454656422 1 udp 2113937151 8dad51db-be2f-4c59-8213-af52fe842765.local 35297 typ host generation 0 ufrag LWVu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"40943621-1a0a-47c5-853f-286c04776f79","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/40943621-1a0a-47c5-853f-286c04776f79'"} device-1 | {"content":{"candidate":"candidate:4253459440 1 udp 2113937151 143b08d4-c44f-4368-a526-f812ca23c092.local 60583 typ host generation 0 ufrag UY/1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6601e023-808c-4b36-b0ba-5074afd6f759","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6601e023-808c-4b36-b0ba-5074afd6f759","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/67b580be-fd72-4b8b-bfd5-1c75f1c91df8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67b580be-fd72-4b8b-bfd5-1c75f1c91df8","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"40943621-1a0a-47c5-853f-286c04776f79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6601e023-808c-4b36-b0ba-5074afd6f759","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fd9025dd73887a7df3d7f81254d2d259","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fd9025dd73887a7df3d7f81254d2d259","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"40943621-1a0a-47c5-853f-286c04776f79","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":[{"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/40943621-1a0a-47c5-853f-286c04776f79"},{"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/6601e023-808c-4b36-b0ba-5074afd6f759"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8"}}},"level":"info","message":"received a callback","requestID":"fd9025dd73887a7df3d7f81254d2d259"} device-1 | {"device":"6601e023-808c-4b36-b0ba-5074afd6f759","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"40943621-1a0a-47c5-853f-286c04776f79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"40943621-1a0a-47c5-853f-286c04776f79","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"67b580be-fd72-4b8b-bfd5-1c75f1c91df8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"fd9025dd73887a7df3d7f81254d2d259","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"fd9025dd73887a7df3d7f81254d2d259"} device-1 | {"data":{"peerconnection":"67b580be-fd72-4b8b-bfd5-1c75f1c91df8","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/67b580be-fd72-4b8b-bfd5-1c75f1c91df8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67b580be-fd72-4b8b-bfd5-1c75f1c91df8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66811931430bfbbbeff28d11f34c54c4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66811931430bfbbbeff28d11f34c54c4","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/40943621-1a0a-47c5-853f-286c04776f79"},{"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/6601e023-808c-4b36-b0ba-5074afd6f759"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8"}}},"level":"info","message":"received a callback","requestID":"66811931430bfbbbeff28d11f34c54c4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"08502470-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67b580be-fd72-4b8b-bfd5-1c75f1c91df8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27c19459-2769-4bfd-813d-ab3966c28bbe","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.860118} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.291654,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08502470-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","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":"08502470-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"08502470-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8 200 32ms","method":"GET","requestID":"08502470-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"66811931430bfbbbeff28d11f34c54c4","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"66811931430bfbbbeff28d11f34c54c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08577770-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","requestID":"994ea294aac0d95b2e6eb0dcee6b5e14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"994ea294aac0d95b2e6eb0dcee6b5e14"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"069846a1-fa1c-4e01-b447-ad856295da92","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.931494} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"994ea294aac0d95b2e6eb0dcee6b5e14","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.1955,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08577770-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","rebac_allow":false,"scope_allow":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":"08577770-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.309507,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"994ea294aac0d95b2e6eb0dcee6b5e14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"994ea294aac0d95b2e6eb0dcee6b5e14","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08577770-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/40943621-1a0a-47c5-853f-286c04776f79/signaling 200 34ms","method":"POST","requestID":"08577770-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"085d1cc0-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","requestID":"994ea294aac0d95b2e6eb0dcee6b5e14"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956 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":"994ea294aac0d95b2e6eb0dcee6b5e14"} experiment-1 | {"level":"info","message":"GET /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956 200 14ms","method":"GET","requestID":"994ea294aac0d95b2e6eb0dcee6b5e14","responseTime":14,"status":200,"url":"/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63c1a1ec-a1b5-4e8d-b468-ccb4886a75cd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.9441495} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.474411,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"085d1cc0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","rebac_allow":false,"scope_allow":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":"085d1cc0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w","level":"info","message":"auth send jwt","requestID":"1b49809a4743d56161f32d7d66a01ace"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b49809a4743d56161f32d7d66a01ace","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"085d1cc0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling 200 8ms","method":"POST","requestID":"085d1cc0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","requestID":"1b49809a4743d56161f32d7d66a01ace"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696285,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b49809a4743d56161f32d7d66a01ace","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1b49809a4743d56161f32d7d66a01ace","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Attempting to finish experiment","requestID":"1b49809a4743d56161f32d7d66a01ace"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"08629b00-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.684553,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08629b00-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908876,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3Nn0.IukQgT2FUXPaFPtGmHvK3WDnkS75FbQ2HtutdZclf8w"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"08629b00-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","device":"40943621-1a0a-47c5-853f-286c04776f79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8","device":"6601e023-808c-4b36-b0ba-5074afd6f759","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/67b580be-fd72-4b8b-bfd5-1c75f1c91df8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67b580be-fd72-4b8b-bfd5-1c75f1c91df8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67b580be-fd72-4b8b-bfd5-1c75f1c91df8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67b580be-fd72-4b8b-bfd5-1c75f1c91df8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"8bf41143-9e93-474b-b95d-65630afd678e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.9897609} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ccebd6c1f1ffe039a0725bd58f3bcdd6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"807e1604-10b4-4eae-a286-319a8faf4379","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908876.9900925} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ccebd6c1f1ffe039a0725bd58f3bcdd6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"08629b00-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ef84431684b21b997ecdf83af09955c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ef84431684b21b997ecdf83af09955c9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79"},{"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/6601e023-808c-4b36-b0ba-5074afd6f759"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8"}}},"level":"info","message":"received a callback","requestID":"ccebd6c1f1ffe039a0725bd58f3bcdd6"} 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/40943621-1a0a-47c5-853f-286c04776f79"},{"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/6601e023-808c-4b36-b0ba-5074afd6f759"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8"}}},"level":"info","message":"received a callback","requestID":"ef84431684b21b997ecdf83af09955c9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"08629b00-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8 204 57ms","method":"DELETE","requestID":"08629b00-097c-11f0-96bb-59c96fe0af16","responseTime":57,"status":204,"url":"/peerconnections/67b580be-fd72-4b8b-bfd5-1c75f1c91df8"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"},"level":"info","message":"Successfully finished experiment","requestID":"1b49809a4743d56161f32d7d66a01ace"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"08716810-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40943621-1a0a-47c5-853f-286c04776f79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a62b26e9-2d25-43e0-a5df-c67185bf3070","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.077977} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.23229,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"08716810-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40943621-1a0a-47c5-853f-286c04776f79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"08716810-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"08716810-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/40943621-1a0a-47c5-853f-286c04776f79/signaling 200 9ms","method":"POST","requestID":"08716810-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/40943621-1a0a-47c5-853f-286c04776f79/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"087315c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c49b48e-94ee-4009-8aa2-1d110f085956': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c49b48e-94ee-4009-8aa2-1d110f085956","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"e42e7c5a-ba54-429f-96e1-f1a070e23cc6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.0845065} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94a79b75-7335-46c0-94bc-8e9084a35b3c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.0848024} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"1b49809a4743d56161f32d7d66a01ace","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6601e023-808c-4b36-b0ba-5074afd6f759","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c34e7978-756b-4e02-a8eb-74ed17beb68d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.0885217} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.439001,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"087315c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759","object_type":"device","rebac_allow":false,"scope_allow":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":"087315c0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"087315c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling 200 8ms","method":"POST","requestID":"087315c0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/6601e023-808c-4b36-b0ba-5074afd6f759/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956","requestID":"1b49809a4743d56161f32d7d66a01ace"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956 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":"1b49809a4743d56161f32d7d66a01ace"} experiment-1 | {"level":"info","message":"DELETE /experiments/3c49b48e-94ee-4009-8aa2-1d110f085956 204 240ms","method":"DELETE","requestID":"1b49809a4743d56161f32d7d66a01ace","responseTime":240,"status":204,"url":"/experiments/3c49b48e-94ee-4009-8aa2-1d110f085956"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"ccebd6c1f1ffe039a0725bd58f3bcdd6","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccebd6c1f1ffe039a0725bd58f3bcdd6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"ef84431684b21b997ecdf83af09955c9","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"ef84431684b21b997ecdf83af09955c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3N30.Ul9YRdiB0E1YNHTCGssw_JciWdNijP-FQ3JTlelpS_M","level":"info","message":"auth send jwt","requestID":"ea6b22c60918c5d3a7465eb8bab90707"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea6b22c60918c5d3a7465eb8bab90707","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ea6b22c60918c5d3a7465eb8bab90707"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"0.908","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"34014efd7dc86cf14aaa08f0181f3db6"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"0.914","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97eb3589868b9d5bd446dab68266acb2"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.922398,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ea6b22c60918c5d3a7465eb8bab90707","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908877,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3N30.Ul9YRdiB0E1YNHTCGssw_JciWdNijP-FQ3JTlelpS_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea6b22c60918c5d3a7465eb8bab90707","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/40943621-1a0a-47c5-853f-286c04776f79' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6601e023-808c-4b36-b0ba-5074afd6f759' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5fc9703d-7719-4910-a74f-1e9e544b0f74","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.211303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ea6b22c60918c5d3a7465eb8bab90707","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fcf7ff2-8c67-4a59-95f5-f712b9c9db94","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.2149634} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ea6b22c60918c5d3a7465eb8bab90707","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"086d053a-2f52-4e9a-b760-f75fa68b8bda","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.2285879} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa272534-8688-4b10-af3d-4f4b069fb054","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.2287557} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ea6b22c60918c5d3a7465eb8bab90707","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.228564873Z"}]},"request_id":"3aaa187f-7e68-4c4f-982b-a9053ea75d12","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.2317784} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ea6b22c60918c5d3a7465eb8bab90707","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ea6b22c60918c5d3a7465eb8bab90707"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea6b22c60918c5d3a7465eb8bab90707"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"ea6b22c60918c5d3a7465eb8bab90707","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3N30.Ul9YRdiB0E1YNHTCGssw_JciWdNijP-FQ3JTlelpS_M","level":"info","message":"auth send jwt","requestID":"a06416c28af5480e97dc180b697ed9e2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a06416c28af5480e97dc180b697ed9e2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a06416c28af5480e97dc180b697ed9e2"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.643529,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a06416c28af5480e97dc180b697ed9e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908877,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3N30.Ul9YRdiB0E1YNHTCGssw_JciWdNijP-FQ3JTlelpS_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a06416c28af5480e97dc180b697ed9e2","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"307bcc13-877c-42be-ae9b-d7aa466decd7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.271164} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a06416c28af5480e97dc180b697ed9e2","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f56642a4-240c-45cb-bf20-fc854b8e4d2e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.274654} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"a06416c28af5480e97dc180b697ed9e2","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"5cea0c55-7593-491e-8c40-d3555b96ebd4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.284737} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f30c3f34-51cf-45e4-8ed2-8b0f430c6553","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.2848814} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a06416c28af5480e97dc180b697ed9e2","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"1a291067-39c1-49e4-a1d1-1d83aed328b2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908877.2907894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a06416c28af5480e97dc180b697ed9e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a06416c28af5480e97dc180b697ed9e2"} gateway-1 | {"time_local":"25/Mar/2025:13:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a06416c28af5480e97dc180b697ed9e2"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"a06416c28af5480e97dc180b697ed9e2","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OH0.7B3fR7_ghpXHbzedgMzup71VdeFSlHljVvpgMKpXLkY","level":"info","message":"auth send jwt","requestID":"5be4cb1ddacdb4f339193ef072567dd5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5be4cb1ddacdb4f339193ef072567dd5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5be4cb1ddacdb4f339193ef072567dd5"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72132,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5be4cb1ddacdb4f339193ef072567dd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908878,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OH0.7B3fR7_ghpXHbzedgMzup71VdeFSlHljVvpgMKpXLkY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5be4cb1ddacdb4f339193ef072567dd5","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"a398bfe9-2598-48df-b4ef-2d4cf2100de5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908878.1897478} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5be4cb1ddacdb4f339193ef072567dd5","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6097923-70a7-4ca0-83f1-701f0d33dba5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908878.1937022} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"5be4cb1ddacdb4f339193ef072567dd5","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"044afedd-774a-41c2-9bf1-af4b63c37f7c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908878.227078} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5be4cb1ddacdb4f339193ef072567dd5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5be4cb1ddacdb4f339193ef072567dd5"} device-1 | {"level":"info","message":"PATCH /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c 200 46ms","method":"PATCH","requestID":"5be4cb1ddacdb4f339193ef072567dd5","responseTime":46,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c"} gateway-1 | {"time_local":"25/Mar/2025:13:21:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"5be4cb1ddacdb4f339193ef072567dd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OH0.7B3fR7_ghpXHbzedgMzup71VdeFSlHljVvpgMKpXLkY","level":"info","message":"auth send jwt","requestID":"3bbf9c81f221d195880eaa76d41a8fcc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3bbf9c81f221d195880eaa76d41a8fcc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3bbf9c81f221d195880eaa76d41a8fcc"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:18Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621987,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3bbf9c81f221d195880eaa76d41a8fcc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908878,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OH0.7B3fR7_ghpXHbzedgMzup71VdeFSlHljVvpgMKpXLkY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3bbf9c81f221d195880eaa76d41a8fcc","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3bbf9c81f221d195880eaa76d41a8fcc"} gateway-1 | {"time_local":"25/Mar/2025:13:21:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/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.14","requestID":"3bbf9c81f221d195880eaa76d41a8fcc"} device-1 | {"level":"info","message":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/websocket 200 16ms","method":"POST","requestID":"3bbf9c81f221d195880eaa76d41a8fcc","responseTime":16,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c0bb5131303da83f6df0c324df13ca1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9c0bb5131303da83f6df0c324df13ca1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/739a1aab-6f96-44fe-93fd-c45962023a40/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":"9c0bb5131303da83f6df0c324df13ca1"} device-1 | {"level":"info","message":"OPTIONS /devices/739a1aab-6f96-44fe-93fd-c45962023a40/websocket 200 1ms","method":"OPTIONS","requestID":"9c0bb5131303da83f6df0c324df13ca1","responseTime":1,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg","level":"info","message":"auth send jwt","requestID":"f32d795acfb4d83a10db0ce642d9f9b4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f32d795acfb4d83a10db0ce642d9f9b4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f32d795acfb4d83a10db0ce642d9f9b4"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281558,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f32d795acfb4d83a10db0ce642d9f9b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f32d795acfb4d83a10db0ce642d9f9b4","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f32d795acfb4d83a10db0ce642d9f9b4"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f32d795acfb4d83a10db0ce642d9f9b4"} device-1 | {"level":"info","message":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/websocket 200 16ms","method":"POST","requestID":"f32d795acfb4d83a10db0ce642d9f9b4","responseTime":16,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg","level":"info","message":"auth send jwt","requestID":"839d23e2b9f009af803423655a031fa7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"839d23e2b9f009af803423655a031fa7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"839d23e2b9f009af803423655a031fa7"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667109,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"839d23e2b9f009af803423655a031fa7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"839d23e2b9f009af803423655a031fa7","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.228564873Z"}]},"request_id":"4916926a-5570-461d-9534-6fb93cf85aa2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.6093102} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"839d23e2b9f009af803423655a031fa7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"839d23e2b9f009af803423655a031fa7"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/739a1aab-6f96-44fe-93fd-c45962023a40? 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":"839d23e2b9f009af803423655a031fa7"} device-1 | {"level":"info","message":"GET /devices/739a1aab-6f96-44fe-93fd-c45962023a40? 200 14ms","method":"GET","requestID":"839d23e2b9f009af803423655a031fa7","responseTime":14,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg","level":"info","message":"auth send jwt","requestID":"00419b9258546f513dfe9b6aa9437f38"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00419b9258546f513dfe9b6aa9437f38","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00419b9258546f513dfe9b6aa9437f38"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188141,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"00419b9258546f513dfe9b6aa9437f38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"00419b9258546f513dfe9b6aa9437f38","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"554d19e9-7702-49db-ad81-743469a06f80","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.6278963} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00419b9258546f513dfe9b6aa9437f38","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00419b9258546f513dfe9b6aa9437f38"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c? 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":"00419b9258546f513dfe9b6aa9437f38"} device-1 | {"level":"info","message":"GET /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c? 200 12ms","method":"GET","requestID":"00419b9258546f513dfe9b6aa9437f38","responseTime":12,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg","level":"info","message":"auth send jwt","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9bf271fc3500becebe0c3e8087ab9bb7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.36419,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9bf271fc3500becebe0c3e8087ab9bb7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"9bf271fc3500becebe0c3e8087ab9bb7","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to run experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to book experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully booked experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a046420-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a048b30-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72642,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a046420-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a046420-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902215,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a048b30-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a048b30-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.228564873Z"}]},"request_id":"0ea8cea8-4d51-4de1-81d0-24be0c67cbb7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.7221293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a046420-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"f16e30b2-7857-4587-80e0-706b9f231785","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.7227285} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0a048b30-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a046420-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/739a1aab-6f96-44fe-93fd-c45962023a40? 200 12ms","method":"GET","requestID":"0a046420-097c-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a048b30-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c? 200 12ms","method":"GET","requestID":"0a048b30-097c-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Setting up experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully set up experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a135840-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a137f50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a13a660-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691007,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a135840-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully running experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a135840-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814794,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a137f50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a137f50-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c86b4d4b-515e-4518-844e-c8d3d701b3c2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.8193533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"40ef027f-cf9a-4df3-ab8c-77b75ded2e84","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.8210325} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538225,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a13a660-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0a13a660-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0a137f50-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.228564873Z"}]},"request_id":"e6dbfddc-0a3b-47c3-bf48-5a71322df24c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.8219388} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a135840-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a13a660-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling 200 12ms","method":"POST","requestID":"0a13a660-097c-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a137f50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c? 200 14ms","method":"GET","requestID":"0a137f50-097c-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a135840-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/739a1aab-6f96-44fe-93fd-c45962023a40? 200 16ms","method":"GET","requestID":"0a135840-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ed4bc28-505b-4a91-b274-8b2e151db2f7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ed4bc28-505b-4a91-b274-8b2e151db2f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"e59184a6-69eb-40d7-ad92-4169bbd10c55","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.828574} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a212445f-a67f-4fe1-8cf2-d91b12d57930","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.8287647} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a15f050-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9bf271fc3500becebe0c3e8087ab9bb7","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad0229fa-52b1-41d7-ba56-2308ccecb0c8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.8577619} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.690696,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a15f050-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","rebac_allow":false,"scope_allow":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":"0a15f050-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a15f050-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling 200 33ms","method":"POST","requestID":"0a15f050-097c-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a1b2070-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d7b2243-66f0-4d5b-8c24-e473a64df033","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.8683524} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.760343,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a1b2070-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a1b2070-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"9bf271fc3500becebe0c3e8087ab9bb7","responseTime":235,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a1b2070-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling 200 10ms","method":"POST","requestID":"0a1b2070-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg","level":"info","message":"auth send jwt","requestID":"3d3ee60f35651c04968d95a4ab19ac6d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3d3ee60f35651c04968d95a4ab19ac6d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a1d1c40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d3ee60f35651c04968d95a4ab19ac6d"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f82fb95-98bb-4475-a9ea-ee92086d64a6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.9052925} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.937849,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3d3ee60f35651c04968d95a4ab19ac6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3d3ee60f35651c04968d95a4ab19ac6d","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.100881,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a1d1c40-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","rebac_allow":false,"scope_allow":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":"0a1d1c40-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.228564873Z"}]},"request_id":"c2d16257-ab94-410a-b9ad-186dd0ca8212","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.9095066} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a1d1c40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling 200 34ms","method":"POST","requestID":"0a1d1c40-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3d3ee60f35651c04968d95a4ab19ac6d","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Building connection plan","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} 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":"d96e8a4c-cad6-4751-b1f8-e0e3702ee9cb"},{"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":"d2638f75-3b63-4967-ad31-c3ad7d7062e0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"84f31c1e-4162-4826-886c-88c5759f37ee"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} 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/d236c91a-d659-4b31-b4ab-f1029c9af70c"},{"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/739a1aab-6f96-44fe-93fd-c45962023a40"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d3ee60f35651c04968d95a4ab19ac6d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/739a1aab-6f96-44fe-93fd-c45962023a40? 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":"3d3ee60f35651c04968d95a4ab19ac6d"} device-1 | {"level":"info","message":"GET /devices/739a1aab-6f96-44fe-93fd-c45962023a40? 200 37ms","method":"GET","requestID":"3d3ee60f35651c04968d95a4ab19ac6d","responseTime":37,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40?"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.671882,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg","level":"info","message":"auth send jwt","requestID":"2ab9c888c0325f53016c0e2b40faf1ad"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ab9c888c0325f53016c0e2b40faf1ad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2ab9c888c0325f53016c0e2b40faf1ad"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764137,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2ab9c888c0325f53016c0e2b40faf1ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908879,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg3OX0.af0XkaS1q2EQZTyLZF0tUj--XL19kj-4ANmvZUFP0Vg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2ab9c888c0325f53016c0e2b40faf1ad","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fb23092a-57e5-457f-844c-cbedb92320bc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.9253082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3abad09a-81b7-4b95-a9af-7b458b87751f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.9255662} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:17.284715662Z"}]},"request_id":"c8f97bee-cd63-4903-92de-0f89a0086574","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908879.9261565} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2ab9c888c0325f53016c0e2b40faf1ad","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2ab9c888c0325f53016c0e2b40faf1ad"} device-1 | {"level":"info","message":"GET /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c? 200 36ms","method":"GET","requestID":"2ab9c888c0325f53016c0e2b40faf1ad","responseTime":36,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c? 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":"2ab9c888c0325f53016c0e2b40faf1ad"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260'","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260'","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16","responseTime":53,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"0a229a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260","device":"739a1aab-6f96-44fe-93fd-c45962023a40","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/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9bf271fc3500becebe0c3e8087ab9bb7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a32c720-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:20Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ad4d304-bff7-4b1e-937c-f8c6b56e0a13","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908880.0226352} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.514851,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:20Z"} device-1 | {"device":"739a1aab-6f96-44fe-93fd-c45962023a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"739a1aab-6f96-44fe-93fd-c45962023a40","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/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a32c720-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a32c720-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a32c720-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling 200 9ms","method":"POST","requestID":"0a32c720-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0a381e50-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:20Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 5571281207775076185 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:Ye2d\r\na=ice-pwd:Ee0rxp2jDLTOTaitV2lDuAzm\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1F:6D:4E:F5:08:3A:55:DA:0E:DF:71:1C:BE:D0:2F:FC:CB:28:43:6F:93:BC:8D:24:F9:B9:9B:21:DC:DD:90:66\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"739a1aab-6f96-44fe-93fd-c45962023a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a754d927-b02d-4164-ba7e-aee21b5934da","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908880.0577025} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.670842,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0a381e50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a381e50-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0a381e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling 200 8ms","method":"POST","requestID":"0a381e50-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling"} device-1 | {"device":"739a1aab-6f96-44fe-93fd-c45962023a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"fe3eec58-3c30-4042-8794-fd9d2898b260","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/fe3eec58-3c30-4042-8794-fd9d2898b260' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe3eec58-3c30-4042-8794-fd9d2898b260","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a662c6c5d4e382c75102c6292f09a82e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a662c6c5d4e382c75102c6292f09a82e","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/d236c91a-d659-4b31-b4ab-f1029c9af70c"},{"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/739a1aab-6f96-44fe-93fd-c45962023a40"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260"}}},"level":"info","message":"received a callback","requestID":"a662c6c5d4e382c75102c6292f09a82e"} device-1 | {"content":{"candidate":"candidate:2481949964 1 udp 2113937151 f8572faf-e7c5-4626-86aa-7bee21dc412a.local 36493 typ host generation 0 ufrag Ye2d network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"739a1aab-6f96-44fe-93fd-c45962023a40","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":"a662c6c5d4e382c75102c6292f09a82e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"a662c6c5d4e382c75102c6292f09a82e"} device-1 | {"device":"739a1aab-6f96-44fe-93fd-c45962023a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"fe3eec58-3c30-4042-8794-fd9d2898b260","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"739a1aab-6f96-44fe-93fd-c45962023a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"fe3eec58-3c30-4042-8794-fd9d2898b260","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/fe3eec58-3c30-4042-8794-fd9d2898b260' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe3eec58-3c30-4042-8794-fd9d2898b260","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99efc442bdd084d9d81ba4fd0b73a7d9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99efc442bdd084d9d81ba4fd0b73a7d9","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/d236c91a-d659-4b31-b4ab-f1029c9af70c"},{"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/739a1aab-6f96-44fe-93fd-c45962023a40"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260"}}},"level":"info","message":"received a callback","requestID":"99efc442bdd084d9d81ba4fd0b73a7d9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0b67ebc0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe3eec58-3c30-4042-8794-fd9d2898b260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14c50b63-5661-4a52-82dc-211611608158","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.048583} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.238761,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0b67ebc0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260","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":"0b67ebc0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0b67ebc0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260 200 8ms","method":"GET","requestID":"0b67ebc0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"99efc442bdd084d9d81ba4fd0b73a7d9","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"99efc442bdd084d9d81ba4fd0b73a7d9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b6c3180-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddcf7c5a-ff54-4b30-979c-83147429cd2f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.076105} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.146361,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0b6c3180-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","rebac_allow":false,"scope_allow":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":"0b6c3180-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b6c3180-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling 200 8ms","method":"POST","requestID":"0b6c3180-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b6db820-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2af5ec05-291d-472c-9e1f-549406ffd11e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.0856876} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205647,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0b6db820-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","rebac_allow":false,"scope_allow":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":"0b6db820-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b6db820-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling 200 35ms","method":"POST","requestID":"0b6db820-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs","level":"info","message":"auth send jwt","requestID":"c6c021a34c21c8f4fdd7826af458a773"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6c021a34c21c8f4fdd7826af458a773","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","requestID":"c6c021a34c21c8f4fdd7826af458a773"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.740154,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c6c021a34c21c8f4fdd7826af458a773","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908882,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c6c021a34c21c8f4fdd7826af458a773","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","requestID":"c6c021a34c21c8f4fdd7826af458a773"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6c021a34c21c8f4fdd7826af458a773"} experiment-1 | {"level":"info","message":"GET /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7 200 8ms","method":"GET","requestID":"c6c021a34c21c8f4fdd7826af458a773","responseTime":8,"status":200,"url":"/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs","level":"info","message":"auth send jwt","requestID":"357a11dba9d58b551e898620ada9a501"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"357a11dba9d58b551e898620ada9a501","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","requestID":"357a11dba9d58b551e898620ada9a501"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.695865,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"357a11dba9d58b551e898620ada9a501","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908882,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"357a11dba9d58b551e898620ada9a501","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Attempting to finish experiment","requestID":"357a11dba9d58b551e898620ada9a501"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0b7b73c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.779784,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0b7b73c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908882,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0b7b73c0-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260","device":"739a1aab-6f96-44fe-93fd-c45962023a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d236c91a-d659-4b31-b4ab-f1029c9af70c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/fe3eec58-3c30-4042-8794-fd9d2898b260' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe3eec58-3c30-4042-8794-fd9d2898b260","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe3eec58-3c30-4042-8794-fd9d2898b260': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe3eec58-3c30-4042-8794-fd9d2898b260","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"4eb56ce0-29e3-4de5-835d-ae6600eb8936","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.209528} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d4a03cf-398d-439a-884d-919a299cc943","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.2098246} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ebce775fda453108946e47b771c75ac3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ebce775fda453108946e47b771c75ac3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"0b7b73c0-097c-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c"},{"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/739a1aab-6f96-44fe-93fd-c45962023a40"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260"}}},"level":"info","message":"received a callback","requestID":"ebce775fda453108946e47b771c75ac3"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f591291366b46288ca3804a75049bc0a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f591291366b46288ca3804a75049bc0a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c"},{"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/739a1aab-6f96-44fe-93fd-c45962023a40"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260"}}},"level":"info","message":"received a callback","requestID":"f591291366b46288ca3804a75049bc0a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0b7b73c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260 204 54ms","method":"DELETE","requestID":"0b7b73c0-097c-11f0-96bb-59c96fe0af16","responseTime":54,"status":204,"url":"/peerconnections/fe3eec58-3c30-4042-8794-fd9d2898b260"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"},"level":"info","message":"Successfully finished experiment","requestID":"357a11dba9d58b551e898620ada9a501"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b8a40d0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd236c91a-d659-4b31-b4ab-f1029c9af70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78d3ee95-1e76-4b67-ace4-499939082851","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.2727306} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346961,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0b8a40d0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c","object_type":"device","rebac_allow":false,"scope_allow":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":"0b8a40d0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b8a40d0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling 200 8ms","method":"POST","requestID":"0b8a40d0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0b8ba060-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ed4bc28-505b-4a91-b274-8b2e151db2f7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8ed4bc28-505b-4a91-b274-8b2e151db2f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"27df140c-e5d3-4be6-bc62-03d5192296b6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.2795558} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc569b10-4ad0-488c-bb67-464c5728c86c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.2802112} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"357a11dba9d58b551e898620ada9a501","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739a1aab-6f96-44fe-93fd-c45962023a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b0f28c0-1087-4ea1-8b6b-fbe8a64ac616","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.307591} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.0014,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0b8ba060-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40","object_type":"device","rebac_allow":false,"scope_allow":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":"0b8ba060-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0b8ba060-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling 200 33ms","method":"POST","requestID":"0b8ba060-097c-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/739a1aab-6f96-44fe-93fd-c45962023a40/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7","requestID":"357a11dba9d58b551e898620ada9a501"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7 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":"357a11dba9d58b551e898620ada9a501"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +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.127","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"b87d04d263026687f06d430f6a5f014b"} experiment-1 | {"level":"info","message":"DELETE /experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7 204 213ms","method":"DELETE","requestID":"357a11dba9d58b551e898620ada9a501","responseTime":213,"status":204,"url":"/experiments/8ed4bc28-505b-4a91-b274-8b2e151db2f7"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch","requestID":"ebce775fda453108946e47b771c75ac3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 170ms","method":"POST","requestID":"ebce775fda453108946e47b771c75ac3","responseTime":170,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs","level":"info","message":"auth send jwt","requestID":"04f0c077e11fcf25de0906363c17448d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04f0c077e11fcf25de0906363c17448d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 171ms","method":"POST","requestID":"f591291366b46288ca3804a75049bc0a","responseTime":171,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch","requestID":"f591291366b46288ca3804a75049bc0a"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2360","request_time":"2.805","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ecb365366fd0c74139e545aa42b140cf"} device-1 | {"level":"info","message":"postDevices called","requestID":"04f0c077e11fcf25de0906363c17448d"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.75351,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"04f0c077e11fcf25de0906363c17448d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908882,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04f0c077e11fcf25de0906363c17448d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d236c91a-d659-4b31-b4ab-f1029c9af70c' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"38f95121-454c-4b26-8cae-80a188e1d1cf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4071631} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04f0c077e11fcf25de0906363c17448d","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6dba5ac9-c13b-452c-a43a-ca310fb3f000","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4118576} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"04f0c077e11fcf25de0906363c17448d","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/739a1aab-6f96-44fe-93fd-c45962023a40' closed"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"71d424c1-3420-4c74-a58a-aa44e3bc3430","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4223154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1cbee55-f9b7-4071-9adb-5e3dae2bddb5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4224215} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"04f0c077e11fcf25de0906363c17448d","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"04f0c077e11fcf25de0906363c17448d"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"04f0c077e11fcf25de0906363c17448d","responseTime":40,"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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.422292809Z"}]},"request_id":"a1e004dc-7714-42b5-9495-16fb5bb9d786","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4261463} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04f0c077e11fcf25de0906363c17448d","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04f0c077e11fcf25de0906363c17448d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs","level":"info","message":"auth send jwt","requestID":"9f219f648e2a178e0c28b192ee619eff"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f219f648e2a178e0c28b192ee619eff","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9f219f648e2a178e0c28b192ee619eff"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.692667,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9f219f648e2a178e0c28b192ee619eff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908882,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4Mn0.pYa7-dGzzWp5pg3hyk-lMtvMq8Sl_rkZornUCXaAUBs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9f219f648e2a178e0c28b192ee619eff","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cd595996-937e-4376-9905-ae1f4943802e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4677534} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9f219f648e2a178e0c28b192ee619eff","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93c11d74-ecbc-44b5-841a-4fdcf11e5ea5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.4720988} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"9f219f648e2a178e0c28b192ee619eff","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"e4bf4fa0-1ba5-49a1-b0be-75e0de6f2406","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.5057917} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b58070dc-2910-46d9-b008-277f4dfc88b8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.506007} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"9f219f648e2a178e0c28b192ee619eff","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"5de56251-3564-478c-9d06-e2399c5d06c6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908882.509753} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9f219f648e2a178e0c28b192ee619eff","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9f219f648e2a178e0c28b192ee619eff"} gateway-1 | {"time_local":"25/Mar/2025:13:21:22 +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":"9f219f648e2a178e0c28b192ee619eff"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"9f219f648e2a178e0c28b192ee619eff","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4M30.MGRCGk90nTzNI61O1GJxlq1WtGlonw7RwLCfLIM0QVQ","level":"info","message":"auth send jwt","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659469,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908883,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4M30.MGRCGk90nTzNI61O1GJxlq1WtGlonw7RwLCfLIM0QVQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"c5679ae9-3090-45b3-b031-01f9fda83015","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908883.3685558} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78379c6a-695a-422c-be81-2176d6541cff","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908883.372461} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"6549b46d-9219-4758-b99f-b1c801321b5c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908883.3819373} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e"} device-1 | {"level":"info","message":"PATCH /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0 200 22ms","method":"PATCH","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e","responseTime":22,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0"} gateway-1 | {"time_local":"25/Mar/2025:13:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"36b3e9da35c5814e4e7c38bc80b94b4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4M30.MGRCGk90nTzNI61O1GJxlq1WtGlonw7RwLCfLIM0QVQ","level":"info","message":"auth send jwt","requestID":"5f15addc74da993c68f5f3be617c211d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5f15addc74da993c68f5f3be617c211d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5f15addc74da993c68f5f3be617c211d"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654802,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5f15addc74da993c68f5f3be617c211d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908883,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4M30.MGRCGk90nTzNI61O1GJxlq1WtGlonw7RwLCfLIM0QVQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5f15addc74da993c68f5f3be617c211d","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5f15addc74da993c68f5f3be617c211d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/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.14","requestID":"5f15addc74da993c68f5f3be617c211d"} device-1 | {"level":"info","message":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/websocket 200 13ms","method":"POST","requestID":"5f15addc74da993c68f5f3be617c211d","responseTime":13,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"67b8b49b061ae3d070bc6ec35098b026","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"67b8b49b061ae3d070bc6ec35098b026","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/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":"67b8b49b061ae3d070bc6ec35098b026"} device-1 | {"level":"info","message":"OPTIONS /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/websocket 200 1ms","method":"OPTIONS","requestID":"67b8b49b061ae3d070bc6ec35098b026","responseTime":1,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8","level":"info","message":"auth send jwt","requestID":"f4ef56cf6266a0575a159f24c57db067"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4ef56cf6266a0575a159f24c57db067","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f4ef56cf6266a0575a159f24c57db067"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298004,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f4ef56cf6266a0575a159f24c57db067","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4ef56cf6266a0575a159f24c57db067","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f4ef56cf6266a0575a159f24c57db067"} gateway-1 | {"time_local":"25/Mar/2025:13:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4ef56cf6266a0575a159f24c57db067"} device-1 | {"level":"info","message":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/websocket 200 21ms","method":"POST","requestID":"f4ef56cf6266a0575a159f24c57db067","responseTime":21,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8","level":"info","message":"auth send jwt","requestID":"9a87eb9662409bc7f254ae84d530de8d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a87eb9662409bc7f254ae84d530de8d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9a87eb9662409bc7f254ae84d530de8d"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86213,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9a87eb9662409bc7f254ae84d530de8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9a87eb9662409bc7f254ae84d530de8d","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.422292809Z"}]},"request_id":"af41d80a-9ad6-46d6-b429-3f3473715ed9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.7710016} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9a87eb9662409bc7f254ae84d530de8d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9a87eb9662409bc7f254ae84d530de8d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a? 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":"9a87eb9662409bc7f254ae84d530de8d"} device-1 | {"level":"info","message":"GET /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a? 200 12ms","method":"GET","requestID":"9a87eb9662409bc7f254ae84d530de8d","responseTime":12,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8","level":"info","message":"auth send jwt","requestID":"56043ddde916d2f68898f9f24aeb9a9a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"56043ddde916d2f68898f9f24aeb9a9a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"56043ddde916d2f68898f9f24aeb9a9a"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682824,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"56043ddde916d2f68898f9f24aeb9a9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"56043ddde916d2f68898f9f24aeb9a9a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"eebeddcd-d484-40ba-a0f7-e30326789897","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.7867515} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"56043ddde916d2f68898f9f24aeb9a9a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"56043ddde916d2f68898f9f24aeb9a9a"} gateway-1 | {"time_local":"25/Mar/2025:13:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0? 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":"56043ddde916d2f68898f9f24aeb9a9a"} device-1 | {"level":"info","message":"GET /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0? 200 10ms","method":"GET","requestID":"56043ddde916d2f68898f9f24aeb9a9a","responseTime":10,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8","level":"info","message":"auth send jwt","requestID":"30dfec6675f43048955e425e48df15d8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"30dfec6675f43048955e425e48df15d8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"30dfec6675f43048955e425e48df15d8"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.642518,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"30dfec6675f43048955e425e48df15d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"30dfec6675f43048955e425e48df15d8","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to run experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to book experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully booked experiment","requestID":"30dfec6675f43048955e425e48df15d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d10b9c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d10e0d0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956209,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d10b9c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d10b9c0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729827,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d10e0d0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d10e0d0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.422292809Z"}]},"request_id":"8e7e991e-3e69-4f2c-89a2-3a9a0dabcc40","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.8360808} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d10b9c0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"3eae2fb5-9b5f-4aaf-801c-7d84fe85f84a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.8383176} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0d10e0d0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d10b9c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a? 200 14ms","method":"GET","requestID":"0d10b9c0-097c-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d10e0d0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0? 200 14ms","method":"GET","requestID":"0d10e0d0-097c-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Setting up experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully set up experiment","requestID":"30dfec6675f43048955e425e48df15d8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d1e4e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d1e7560-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d1ec380-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831375,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d1e4e50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully running experiment","requestID":"30dfec6675f43048955e425e48df15d8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"0d1e4e50-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.85898,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d1e7560-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"0d1e7560-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76b02e05-b244-448b-8ef5-34dd2cda8163","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.9509733} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"ed9186bc-9074-48ba-add2-402123fc8e5a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.9530509} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.360658,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d1ec380-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","rebac_allow":false,"scope_allow":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":"0d1ec380-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0d1e7560-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.422292809Z"}]},"request_id":"5d4c30d8-ed0e-4bca-9c66-e94e93a79cce","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.9539452} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"0d1e4e50-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F76dcc562-2465-4d8c-93c4-34b347e983d4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F76dcc562-2465-4d8c-93c4-34b347e983d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"280bd85a-f863-42fa-b425-749c8de8df96","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.960101} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d1ec380-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e2615d4-442d-4191-8e3a-27d46c6ab4d4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.9602733} device-1 | {"level":"info","message":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling 200 40ms","method":"POST","requestID":"0d1ec380-097c-11f0-96bb-59c96fe0af16","responseTime":40,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d1e7560-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0? 200 43ms","method":"GET","requestID":"0d1e7560-097c-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"30dfec6675f43048955e425e48df15d8","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d1e4e50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a? 200 45ms","method":"GET","requestID":"0d1e4e50-097c-11f0-96bb-59c96fe0af16","responseTime":45,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d255330-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d25ef70-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4c9e03a-34d8-4f32-91f5-33b6a6c33e52","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.967583} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291983,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d255330-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","rebac_allow":false,"scope_allow":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":"0d255330-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"30dfec6675f43048955e425e48df15d8"} gateway-1 | {"time_local":"25/Mar/2025:13:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30dfec6675f43048955e425e48df15d8"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:24Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 200ms","method":"POST","requestID":"30dfec6675f43048955e425e48df15d8","responseTime":200,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d255330-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling 200 33ms","method":"POST","requestID":"0d255330-097c-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cddbc7f-1ab2-484a-a9db-6557c9600f92","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908884.9965384} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.732645,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d25ef70-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8","level":"info","message":"auth send jwt","requestID":"8ba7a113d3e1438b53ed9b5a6281503c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d25ef70-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ba7a113d3e1438b53ed9b5a6281503c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ba7a113d3e1438b53ed9b5a6281503c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d25ef70-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling 200 35ms","method":"POST","requestID":"0d25ef70-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747576,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8ba7a113d3e1438b53ed9b5a6281503c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8ba7a113d3e1438b53ed9b5a6281503c","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d2b94c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.422292809Z"}]},"request_id":"c6679b91-e793-4f42-85d7-9dd734bee924","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.0070448} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8ba7a113d3e1438b53ed9b5a6281503c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"889cdf56-bd74-4180-82bf-1495611f228f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.007258} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.080668,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d2b94c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","rebac_allow":false,"scope_allow":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":"0d2b94c0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ba7a113d3e1438b53ed9b5a6281503c"} gateway-1 | {"time_local":"25/Mar/2025:13:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ba7a113d3e1438b53ed9b5a6281503c"} device-1 | {"level":"info","message":"GET /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a? 200 10ms","method":"GET","requestID":"8ba7a113d3e1438b53ed9b5a6281503c","responseTime":10,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d2b94c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling 200 7ms","method":"POST","requestID":"0d2b94c0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Building connection plan","requestID":"30dfec6675f43048955e425e48df15d8"} 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":"3c59c7ca-62c5-4703-aa23-37289533c31c"},{"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":"e9f7cd20-bd5f-47d6-a2a5-f4fa21a9d6ed"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"552edbee-0890-4a11-b72e-c56f749b8d14"}]},"level":"info","message":"Built pairwise service configurations","requestID":"30dfec6675f43048955e425e48df15d8"} 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/5177c4b2-a1d5-46bd-91f0-da54031fd1a0"},{"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/83198e13-a06e-46b7-bc9a-255be7d9c57a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"30dfec6675f43048955e425e48df15d8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NX0.BuDUCgEbYddEL4iPgQtU5CqlTa80Q19KecnJGoYxGQY","level":"info","message":"auth send jwt","requestID":"c5554fa64c400d5e26d77dd52b2149f5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5554fa64c400d5e26d77dd52b2149f5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5554fa64c400d5e26d77dd52b2149f5"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47084","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":24.790694,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908884,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NH0.-JlhAh8k5_0oWinRu83UPsesIrir0h7wSecRGwSKlv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607646,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c5554fa64c400d5e26d77dd52b2149f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908885,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4NX0.BuDUCgEbYddEL4iPgQtU5CqlTa80Q19KecnJGoYxGQY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c5554fa64c400d5e26d77dd52b2149f5","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:22.505758724Z"}]},"request_id":"8eabc59c-16cc-40b4-a80f-320ea21b596d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.0455678} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c5554fa64c400d5e26d77dd52b2149f5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5554fa64c400d5e26d77dd52b2149f5"} gateway-1 | {"time_local":"25/Mar/2025:13:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0? 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":"c5554fa64c400d5e26d77dd52b2149f5"} device-1 | {"level":"info","message":"GET /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0? 200 33ms","method":"GET","requestID":"c5554fa64c400d5e26d77dd52b2149f5","responseTime":33,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"626eddbe-c6de-40f1-95df-898d7ffdfca8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.0488513} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"871dec4f-a436-47c0-982f-af01538eb5df","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.0491478} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114'","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114'","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"0d2d1b60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114","device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","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/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"30dfec6675f43048955e425e48df15d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d400720-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eae606bb-f9ef-40e6-88bb-3a8d7639760d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.1427836} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.754428,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:25Z"} device-1 | {"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","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/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d400720-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0d400720-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 6004100366353140415 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:kiGp\r\na=ice-pwd:7QidbIvcWoFceVEIf+/oSbED\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2A:31:DB:8D:22:92:8B:3E:62:F9:A4:EF:5A:36:36:C5:41:C5:E6:67:4D:CA:F8:CF:71:33:83:C2:41:D0:6E:2F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d400720-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling 200 11ms","method":"POST","requestID":"0d400720-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0d4202f0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8214162c-46bf-4667-86f1-44352f08fa15","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908885.1548517} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.108836,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0d4202f0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","rebac_allow":false,"scope_allow":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":"0d4202f0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0d4202f0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling 200 7ms","method":"POST","requestID":"0d4202f0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling"} device-1 | {"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/4b8c3bed-75d0-48ab-8746-88f18ef5d114' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b50627e2136deddbd6f44f44a0e7ff48","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b50627e2136deddbd6f44f44a0e7ff48","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/5177c4b2-a1d5-46bd-91f0-da54031fd1a0"},{"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/83198e13-a06e-46b7-bc9a-255be7d9c57a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114"}}},"level":"info","message":"received a callback","requestID":"b50627e2136deddbd6f44f44a0e7ff48"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"b50627e2136deddbd6f44f44a0e7ff48","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b50627e2136deddbd6f44f44a0e7ff48"} device-1 | {"content":{"candidate":"candidate:1527895475 1 udp 2113937151 0dc784ed-1f3d-4a4e-82ca-ac25fd5d8dfa.local 55311 typ host generation 0 ufrag kiGp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","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/4b8c3bed-75d0-48ab-8746-88f18ef5d114' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f767ebcdcc2b81ed8c96595973c618cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f767ebcdcc2b81ed8c96595973c618cd","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/5177c4b2-a1d5-46bd-91f0-da54031fd1a0"},{"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/83198e13-a06e-46b7-bc9a-255be7d9c57a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114"}}},"level":"info","message":"received a callback","requestID":"f767ebcdcc2b81ed8c96595973c618cd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"0e741a50-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b8c3bed-75d0-48ab-8746-88f18ef5d114","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe122c2f-e188-4255-8aa8-851ca0d61adc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.1607108} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.292643,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0e741a50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114","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":"0e741a50-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"0e741a50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114 200 6ms","method":"GET","requestID":"0e741a50-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"f767ebcdcc2b81ed8c96595973c618cd","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"f767ebcdcc2b81ed8c96595973c618cd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e774ea0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0107db6-e4e0-48db-be8d-6d826244f5e4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.181702} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.17178,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0e774ea0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","rebac_allow":false,"scope_allow":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":"0e774ea0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e774ea0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling 200 9ms","method":"POST","requestID":"0e774ea0-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e78d540-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26b458d7-f1d8-4755-a1df-628f7f10ba0f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.192163} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.025077,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0e78d540-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","rebac_allow":false,"scope_allow":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":"0e78d540-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e78d540-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling 200 7ms","method":"POST","requestID":"0e78d540-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw","level":"info","message":"auth send jwt","requestID":"d632aa416722be2341d938f8cc7b0adf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d632aa416722be2341d938f8cc7b0adf","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","requestID":"d632aa416722be2341d938f8cc7b0adf"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.750957,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d632aa416722be2341d938f8cc7b0adf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908887,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d632aa416722be2341d938f8cc7b0adf","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","requestID":"d632aa416722be2341d938f8cc7b0adf"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d632aa416722be2341d938f8cc7b0adf"} experiment-1 | {"level":"info","message":"GET /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4 200 12ms","method":"GET","requestID":"d632aa416722be2341d938f8cc7b0adf","responseTime":12,"status":200,"url":"/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw","level":"info","message":"auth send jwt","requestID":"fbb7a18cd6b8837a96a1a0f23c586219"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbb7a18cd6b8837a96a1a0f23c586219","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","requestID":"fbb7a18cd6b8837a96a1a0f23c586219"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.712774,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"fbb7a18cd6b8837a96a1a0f23c586219","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908887,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fbb7a18cd6b8837a96a1a0f23c586219","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Attempting to finish experiment","requestID":"fbb7a18cd6b8837a96a1a0f23c586219"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"0e899e20-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.827167,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0e899e20-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908887,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e899e20-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114","device":"83198e13-a06e-46b7-bc9a-255be7d9c57a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5177c4b2-a1d5-46bd-91f0-da54031fd1a0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/4b8c3bed-75d0-48ab-8746-88f18ef5d114' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b8c3bed-75d0-48ab-8746-88f18ef5d114': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b8c3bed-75d0-48ab-8746-88f18ef5d114","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"305f6650-0444-4519-854c-b797b7d55995","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.3135638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8cb2d8f-7df2-41d4-97b5-34ce72ef8a7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.3137417} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eee432b9bbfea50c3f5e52e78226d6a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eee432b9bbfea50c3f5e52e78226d6a2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"0e899e20-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/5177c4b2-a1d5-46bd-91f0-da54031fd1a0"},{"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/83198e13-a06e-46b7-bc9a-255be7d9c57a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114"}}},"level":"info","message":"received a callback","requestID":"eee432b9bbfea50c3f5e52e78226d6a2"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aff0c985bfe6e6feff7fd48a4d564d76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aff0c985bfe6e6feff7fd48a4d564d76","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/5177c4b2-a1d5-46bd-91f0-da54031fd1a0"},{"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/83198e13-a06e-46b7-bc9a-255be7d9c57a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114"}}},"level":"info","message":"received a callback","requestID":"aff0c985bfe6e6feff7fd48a4d564d76"} device-1 | {"data":{"peerconnection":"4b8c3bed-75d0-48ab-8746-88f18ef5d114","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"0e899e20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114 204 57ms","method":"DELETE","requestID":"0e899e20-097c-11f0-96bb-59c96fe0af16","responseTime":57,"status":204,"url":"/peerconnections/4b8c3bed-75d0-48ab-8746-88f18ef5d114"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"},"level":"info","message":"Successfully finished experiment","requestID":"fbb7a18cd6b8837a96a1a0f23c586219"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e94e8c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5177c4b2-a1d5-46bd-91f0-da54031fd1a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d88ce923-9d53-46f8-80bd-35873ad776e5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.3969314} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549681,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0e94e8c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0","object_type":"device","rebac_allow":false,"scope_allow":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":"0e94e8c0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e94e8c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling 200 28ms","method":"POST","requestID":"0e94e8c0-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0e997ca0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F76dcc562-2465-4d8c-93c4-34b347e983d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F76dcc562-2465-4d8c-93c4-34b347e983d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"0f7ea2e6-b743-4622-9683-b5bb08659701","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.4038548} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e00cbb9f-5fcd-4392-90ab-ac56c8507f3a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.4040444} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"fbb7a18cd6b8837a96a1a0f23c586219","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83198e13-a06e-46b7-bc9a-255be7d9c57a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26e56016-8976-4272-bd12-7bd813d5eedc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.405998} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.158412,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"0e997ca0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a","object_type":"device","rebac_allow":false,"scope_allow":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":"0e997ca0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0e997ca0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling 200 7ms","method":"POST","requestID":"0e997ca0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4","requestID":"fbb7a18cd6b8837a96a1a0f23c586219"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fbb7a18cd6b8837a96a1a0f23c586219"} experiment-1 | {"level":"info","message":"DELETE /experiments/76dcc562-2465-4d8c-93c4-34b347e983d4 204 241ms","method":"DELETE","requestID":"fbb7a18cd6b8837a96a1a0f23c586219","responseTime":241,"status":204,"url":"/experiments/76dcc562-2465-4d8c-93c4-34b347e983d4"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +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.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"9e1b7d20f23f68e8f1b26b818726ccfc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"eee432b9bbfea50c3f5e52e78226d6a2","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"eee432b9bbfea50c3f5e52e78226d6a2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"aff0c985bfe6e6feff7fd48a4d564d76","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"aff0c985bfe6e6feff7fd48a4d564d76"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw","level":"info","message":"auth send jwt","requestID":"3b426d94f6304db70a494129203c1337"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3b426d94f6304db70a494129203c1337","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2360","request_time":"2.765","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4129ce86764e3db9e04165c35cdd39d0"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899762,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"3b426d94f6304db70a494129203c1337"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3b426d94f6304db70a494129203c1337","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908887,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b426d94f6304db70a494129203c1337","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5177c4b2-a1d5-46bd-91f0-da54031fd1a0' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29c5c452-d6de-48b0-a1f0-bd4188809285","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.558344} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b426d94f6304db70a494129203c1337","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41f86ec2-2fdf-41ea-b36f-8378e4ae247b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.5865777} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"3b426d94f6304db70a494129203c1337","responseTime":23,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/83198e13-a06e-46b7-bc9a-255be7d9c57a' closed"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"4aa2c1d4-2484-4254-9e4e-f3225b7cbc77","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.5981665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39c95bef-427a-4dd3-9b7f-5cfee20ec47d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.59872} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"3b426d94f6304db70a494129203c1337","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"f7f36547-7cc8-4445-bd21-c6bb9102e73e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.6025398} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3b426d94f6304db70a494129203c1337","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3b426d94f6304db70a494129203c1337"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b426d94f6304db70a494129203c1337"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"3b426d94f6304db70a494129203c1337","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw","level":"info","message":"auth send jwt","requestID":"5c4c94559f66f45c5543a6e6e538e0b0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5c4c94559f66f45c5543a6e6e538e0b0"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.615137,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5c4c94559f66f45c5543a6e6e538e0b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908887,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4N30.aFY0_YE8M8tCltla7vvq_37wpt5D2bcM_Glqchlqllw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29cc5f91-6009-440b-ab16-1e328ad53575","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.6469944} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"786ea723-9dc3-42e6-ba42-c40bbfa91788","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.6510103} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"828f8ebc-d5ca-4c73-9229-b3f73b3c8eae","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.68565} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bccee42-bff1-4edd-8295-f143324eb55f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.6858358} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.685626372Z"}]},"request_id":"b33828f8-d9dd-4551-bd04-8367d035e178","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908887.6894505} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5c4c94559f66f45c5543a6e6e538e0b0"} gateway-1 | {"time_local":"25/Mar/2025:13:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c4c94559f66f45c5543a6e6e538e0b0"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"5c4c94559f66f45c5543a6e6e538e0b0","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4OH0.txSWg4NxBkCKywQlJkVUgsggQI6Usrk_fYhxAOkhe3M","level":"info","message":"auth send jwt","requestID":"4345e5d78acec4ac30ae0d05783ca041"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4345e5d78acec4ac30ae0d05783ca041","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4345e5d78acec4ac30ae0d05783ca041"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64975,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4345e5d78acec4ac30ae0d05783ca041","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908888,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4OH0.txSWg4NxBkCKywQlJkVUgsggQI6Usrk_fYhxAOkhe3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4345e5d78acec4ac30ae0d05783ca041","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"d5ffda2e-4aa5-43c0-85ec-8f7a6eef104b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908888.5714052} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4345e5d78acec4ac30ae0d05783ca041","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"565a25aa-8f44-414d-8e20-db8a9e0988d1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908888.5976117} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4345e5d78acec4ac30ae0d05783ca041","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"1756cc82-a7c1-4c8d-82d6-8117a09482e4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908888.6087365} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4345e5d78acec4ac30ae0d05783ca041","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4345e5d78acec4ac30ae0d05783ca041"} device-1 | {"level":"info","message":"PATCH /devices/a0a9412d-5418-4187-979d-d922c41c49e4 200 47ms","method":"PATCH","requestID":"4345e5d78acec4ac30ae0d05783ca041","responseTime":47,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4"} gateway-1 | {"time_local":"25/Mar/2025:13:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a0a9412d-5418-4187-979d-d922c41c49e4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"4345e5d78acec4ac30ae0d05783ca041"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4OH0.txSWg4NxBkCKywQlJkVUgsggQI6Usrk_fYhxAOkhe3M","level":"info","message":"auth send jwt","requestID":"a2a1f48a4c3507f170e1b6eab677139a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2a1f48a4c3507f170e1b6eab677139a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a2a1f48a4c3507f170e1b6eab677139a"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671484,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a2a1f48a4c3507f170e1b6eab677139a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908888,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4OH0.txSWg4NxBkCKywQlJkVUgsggQI6Usrk_fYhxAOkhe3M"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a2a1f48a4c3507f170e1b6eab677139a","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a2a1f48a4c3507f170e1b6eab677139a"} gateway-1 | {"time_local":"25/Mar/2025:13:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/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.14","requestID":"a2a1f48a4c3507f170e1b6eab677139a"} device-1 | {"level":"info","message":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/websocket 200 36ms","method":"POST","requestID":"a2a1f48a4c3507f170e1b6eab677139a","responseTime":36,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7bbbeda311e8192b2f141439f7f5bba2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7bbbeda311e8192b2f141439f7f5bba2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/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":"7bbbeda311e8192b2f141439f7f5bba2"} device-1 | {"level":"info","message":"OPTIONS /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/websocket 200 1ms","method":"OPTIONS","requestID":"7bbbeda311e8192b2f141439f7f5bba2","responseTime":1,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4OX0.2JTmTr1fBYhLebebmaMvKCx6rNgajVGAeON38N0XoPE","level":"info","message":"auth send jwt","requestID":"5627f82356d62eccf244b36a50fc7b7d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5627f82356d62eccf244b36a50fc7b7d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5627f82356d62eccf244b36a50fc7b7d"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.369694,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5627f82356d62eccf244b36a50fc7b7d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908889,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg4OX0.2JTmTr1fBYhLebebmaMvKCx6rNgajVGAeON38N0XoPE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5627f82356d62eccf244b36a50fc7b7d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5627f82356d62eccf244b36a50fc7b7d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5627f82356d62eccf244b36a50fc7b7d"} device-1 | {"level":"info","message":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/websocket 200 20ms","method":"POST","requestID":"5627f82356d62eccf244b36a50fc7b7d","responseTime":20,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY","level":"info","message":"auth send jwt","requestID":"d3211f8d18b32b8954ebd99219d9c0b8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d3211f8d18b32b8954ebd99219d9c0b8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3211f8d18b32b8954ebd99219d9c0b8"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805082,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d3211f8d18b32b8954ebd99219d9c0b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3211f8d18b32b8954ebd99219d9c0b8","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"f5db45a9-9aca-4430-9a68-e43e86e2a72c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.049581} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d3211f8d18b32b8954ebd99219d9c0b8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3211f8d18b32b8954ebd99219d9c0b8"} device-1 | {"level":"info","message":"GET /devices/a0a9412d-5418-4187-979d-d922c41c49e4? 200 12ms","method":"GET","requestID":"d3211f8d18b32b8954ebd99219d9c0b8","responseTime":12,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0a9412d-5418-4187-979d-d922c41c49e4? 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":"d3211f8d18b32b8954ebd99219d9c0b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY","level":"info","message":"auth send jwt","requestID":"9095a954e753757f2e30e22022c13d46"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9095a954e753757f2e30e22022c13d46","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9095a954e753757f2e30e22022c13d46"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70136,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9095a954e753757f2e30e22022c13d46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9095a954e753757f2e30e22022c13d46","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.685626372Z"}]},"request_id":"a65c33db-59f7-4c49-9411-caa2eafa4c38","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.0641227} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9095a954e753757f2e30e22022c13d46","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9095a954e753757f2e30e22022c13d46"} device-1 | {"level":"info","message":"GET /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e? 200 9ms","method":"GET","requestID":"9095a954e753757f2e30e22022c13d46","responseTime":9,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e? 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":"9095a954e753757f2e30e22022c13d46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY","level":"info","message":"auth send jwt","requestID":"af15d3bc4959df23a651ba64d6909f13"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af15d3bc4959df23a651ba64d6909f13","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"af15d3bc4959df23a651ba64d6909f13"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.771043,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"af15d3bc4959df23a651ba64d6909f13","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af15d3bc4959df23a651ba64d6909f13","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to run experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to book experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully booked experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"10357960-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1035a070-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724026,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"10357960-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10357960-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.218518,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1035a070-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1035a070-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"c2df237a-1f91-4ba5-888e-eae8b934aba2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.1088793} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"10357960-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.685626372Z"}]},"request_id":"1be1414a-8b26-4a8a-8e58-d1275ea14004","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.1115603} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"10357960-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1035a070-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/a0a9412d-5418-4187-979d-d922c41c49e4? 200 10ms","method":"GET","requestID":"10357960-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1035a070-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e? 200 11ms","method":"GET","requestID":"1035a070-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Setting up experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully locked booking for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to update booking for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully updated booking for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully set up experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"103ccc60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"103cf370-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"103d1a80-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.921147,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully running experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"103ccc60-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"103ccc60-097c-11f0-96bb-59c96fe0af16","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62344,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"103cf370-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"103cf370-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"468b8485-568a-4370-8522-8fc8ac8584c5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.1821299} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.685626372Z"}]},"request_id":"d5df1b0e-03ce-43eb-ac94-4a4811042233","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.183563} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.190379,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"103d1a80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"103d1a80-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"103cf370-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"4951e8f2-6136-40da-9c78-e1b428efca2c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.1843216} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"103ccc60-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"103d1a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling 200 37ms","method":"POST","requestID":"103d1a80-097c-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"103cf370-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe557b9b5-37ca-407f-9157-fd37121ded57#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe557b9b5-37ca-407f-9157-fd37121ded57","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"aa633ca6-421b-44b0-8133-091462ff2e3c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.189792} device-1 | {"level":"info","message":"GET /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e? 200 39ms","method":"GET","requestID":"103cf370-097c-11f0-96bb-59c96fe0af16","responseTime":39,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3a2623b-4a57-407c-93a1-7edb1c19e50c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.190091} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"103ccc60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/a0a9412d-5418-4187-979d-d922c41c49e4? 200 41ms","method":"GET","requestID":"103ccc60-097c-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"af15d3bc4959df23a651ba64d6909f13","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"10433500-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"10435c10-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6af3d464-5c05-4ea1-8dd2-47d5a5a2483c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.1963062} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.062698,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"10433500-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"10433500-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae1658f8-7a09-4524-8707-919a99a371a7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.197634} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.090112,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"10435c10-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","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/e557b9b5-37ca-407f-9157-fd37121ded57","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"af15d3bc4959df23a651ba64d6909f13"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"10435c10-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 129ms","method":"POST","requestID":"af15d3bc4959df23a651ba64d6909f13","responseTime":129,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af15d3bc4959df23a651ba64d6909f13"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"10433500-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling 200 34ms","method":"POST","requestID":"10433500-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"10435c10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling 200 34ms","method":"POST","requestID":"10435c10-097c-11f0-96bb-59c96fe0af16","responseTime":34,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY","level":"info","message":"auth send jwt","requestID":"5e64ee4abb00eda66fde13f639b13246"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e64ee4abb00eda66fde13f639b13246","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1048da50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e64ee4abb00eda66fde13f639b13246"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34090","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.082154,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"5e64ee4abb00eda66fde13f639b13246","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e64ee4abb00eda66fde13f639b13246","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4107cbb0-b3b2-496e-8fac-c05580764a88","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.2338796} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.025134,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1048da50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1048da50-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.598123297Z"}]},"request_id":"5c6d8d71-ae9d-47d3-bca8-05e11756d0c1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.2370217} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1048da50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling 200 8ms","method":"POST","requestID":"1048da50-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e64ee4abb00eda66fde13f639b13246","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Building connection plan","requestID":"af15d3bc4959df23a651ba64d6909f13"} 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":"38cf5f83-e789-4df3-b8ab-721fec9d2557"},{"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":"c66b2560-667d-49c4-badf-69c0a9ad6a1a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"500d5f7a-222f-463c-9a04-fb9fd73ac6f9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"af15d3bc4959df23a651ba64d6909f13"} 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/9692b9a4-cd1c-4c93-a061-1a184275b51e"},{"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/a0a9412d-5418-4187-979d-d922c41c49e4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"af15d3bc4959df23a651ba64d6909f13"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e64ee4abb00eda66fde13f639b13246"} device-1 | {"level":"info","message":"GET /devices/a0a9412d-5418-4187-979d-d922c41c49e4? 200 11ms","method":"GET","requestID":"5e64ee4abb00eda66fde13f639b13246","responseTime":11,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0a9412d-5418-4187-979d-d922c41c49e4? 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":"5e64ee4abb00eda66fde13f639b13246"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.659912,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"104a8800-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY","level":"info","message":"auth send jwt","requestID":"a1b4d1066c46f063c8e3fd2bc161f897"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a1b4d1066c46f063c8e3fd2bc161f897","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1b4d1066c46f063c8e3fd2bc161f897"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"a46c217e-741d-43a0-861e-240e6c81158d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.274903} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2dc8e59-5425-452d-b07f-6a82c84edd7f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.2752142} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":28.813305,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a1b4d1066c46f063c8e3fd2bc161f897","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908890,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5MH0.bIh9ZNXL63-Bz-Skg52MZbecqhRnyQVw7bvzVrSXxAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"a1b4d1066c46f063c8e3fd2bc161f897","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:27.685626372Z"}]},"request_id":"b7bae70c-66c3-435c-aab2-34e7424fb2a7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.280395} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a1b4d1066c46f063c8e3fd2bc161f897","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1'","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1'","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} 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":"104a8800-097c-11f0-96bb-59c96fe0af16","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":"getDevicesByDeviceId succeeded","requestID":"a1b4d1066c46f063c8e3fd2bc161f897"} gateway-1 | {"time_local":"25/Mar/2025:13:21:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e? 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":"a1b4d1066c46f063c8e3fd2bc161f897"} device-1 | {"level":"info","message":"GET /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e? 200 44ms","method":"GET","requestID":"a1b4d1066c46f063c8e3fd2bc161f897","responseTime":44,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"104a8800-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1","device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","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/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"af15d3bc4959df23a651ba64d6909f13"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1059ca40-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7a407d6-d572-414f-8298-d29488389cda","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.3439064} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321326,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1059ca40-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","rebac_allow":false,"scope_allow":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":"1059ca40-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1059ca40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling 200 31ms","method":"POST","requestID":"1059ca40-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"105ed350-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70c4577e-4cfd-48b3-b302-663ee0fbd055","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908890.377008} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.129308,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"105ed350-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","rebac_allow":false,"scope_allow":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":"105ed350-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"105ed350-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling 200 7ms","method":"POST","requestID":"105ed350-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling"} device-1 | {"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"a171d903-e1e5-47bb-96d0-4f49aaf1daf1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3060116276602311153 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:ZgN2\r\na=ice-pwd:HN/ol5pG/72tLGR5bk8MziqK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E3:F2:D8:8D:71:86:E4:44:95:9E:19:33:8B:2F:B7:9B:F0:3C:F0:AF:AE:79:D2:71:6D:71:B5:0A:F7:E0:33:42\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:901385536 1 udp 2113937151 e1d16a3c-4d1b-4659-8823-8384ddcfb006.local 56543 typ host generation 0 ufrag ZgN2 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","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/a171d903-e1e5-47bb-96d0-4f49aaf1daf1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a171d903-e1e5-47bb-96d0-4f49aaf1daf1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1c77b8a7d47f178121f0bfe93daebfcb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1c77b8a7d47f178121f0bfe93daebfcb","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","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":[{"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/9692b9a4-cd1c-4c93-a061-1a184275b51e"},{"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/a0a9412d-5418-4187-979d-d922c41c49e4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1"}}},"level":"info","message":"received a callback","requestID":"1c77b8a7d47f178121f0bfe93daebfcb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"1c77b8a7d47f178121f0bfe93daebfcb","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c77b8a7d47f178121f0bfe93daebfcb"} device-1 | {"data":{"peerconnection":"a171d903-e1e5-47bb-96d0-4f49aaf1daf1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"a171d903-e1e5-47bb-96d0-4f49aaf1daf1","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","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/a171d903-e1e5-47bb-96d0-4f49aaf1daf1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a171d903-e1e5-47bb-96d0-4f49aaf1daf1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6d4954f380d516e4b0504fff34394959","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/9692b9a4-cd1c-4c93-a061-1a184275b51e"},{"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/a0a9412d-5418-4187-979d-d922c41c49e4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1"}}},"level":"info","message":"received a callback","requestID":"6d4954f380d516e4b0504fff34394959"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6d4954f380d516e4b0504fff34394959","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"1196de20-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa171d903-e1e5-47bb-96d0-4f49aaf1daf1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b9e5e15-1337-4382-b1ac-0b3df5860f75","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.4218178} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.249129,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1196de20-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1","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":"1196de20-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"1196de20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1 200 7ms","method":"GET","requestID":"1196de20-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"6d4954f380d516e4b0504fff34394959","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d4954f380d516e4b0504fff34394959"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1199eb60-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4453de3-e78c-44ea-a49b-d0d371715881","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.4421601} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.174684,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1199eb60-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","rebac_allow":false,"scope_allow":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":"1199eb60-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1199eb60-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling 200 7ms","method":"POST","requestID":"1199eb60-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"119b4af0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21dbeedf-355b-4fe5-9508-02c6cde2bde4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.4509394} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229144,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"119b4af0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","rebac_allow":false,"scope_allow":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":"119b4af0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"119b4af0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling 200 7ms","method":"POST","requestID":"119b4af0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU","level":"info","message":"auth send jwt","requestID":"f76260bfc608b26804ea95517a1ca705"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f76260bfc608b26804ea95517a1ca705","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e557b9b5-37ca-407f-9157-fd37121ded57","requestID":"f76260bfc608b26804ea95517a1ca705"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.632432,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f76260bfc608b26804ea95517a1ca705","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908892,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f76260bfc608b26804ea95517a1ca705","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e557b9b5-37ca-407f-9157-fd37121ded57","requestID":"f76260bfc608b26804ea95517a1ca705"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e557b9b5-37ca-407f-9157-fd37121ded57 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f76260bfc608b26804ea95517a1ca705"} experiment-1 | {"level":"info","message":"GET /experiments/e557b9b5-37ca-407f-9157-fd37121ded57 200 28ms","method":"GET","requestID":"f76260bfc608b26804ea95517a1ca705","responseTime":28,"status":200,"url":"/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU","level":"info","message":"auth send jwt","requestID":"2d237258b3347dbb3f7317c87ccf74c9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2d237258b3347dbb3f7317c87ccf74c9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e557b9b5-37ca-407f-9157-fd37121ded57","requestID":"2d237258b3347dbb3f7317c87ccf74c9"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.789251,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2d237258b3347dbb3f7317c87ccf74c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908892,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2d237258b3347dbb3f7317c87ccf74c9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Attempting to finish experiment","requestID":"2d237258b3347dbb3f7317c87ccf74c9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"11aadb50-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.741634,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"11aadb50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908892,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"11aadb50-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1","device":"9692b9a4-cd1c-4c93-a061-1a184275b51e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a0a9412d-5418-4187-979d-d922c41c49e4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/a171d903-e1e5-47bb-96d0-4f49aaf1daf1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a171d903-e1e5-47bb-96d0-4f49aaf1daf1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa171d903-e1e5-47bb-96d0-4f49aaf1daf1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa171d903-e1e5-47bb-96d0-4f49aaf1daf1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"55d97e9d-e89e-47cf-a780-18d24becc56e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.5876348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27e66241-d0a9-4fc0-bfba-c121ee65f4a5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.5878217} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"11aadb50-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"93ba637c657c9b8b4d18b7efce7cdcdb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"93ba637c657c9b8b4d18b7efce7cdcdb","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ef98476cae54ec57ad3067eedd62d7f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/9692b9a4-cd1c-4c93-a061-1a184275b51e"},{"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/a0a9412d-5418-4187-979d-d922c41c49e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1"}}},"level":"info","message":"received a callback","requestID":"93ba637c657c9b8b4d18b7efce7cdcdb"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"4ef98476cae54ec57ad3067eedd62d7f","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e"},{"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/a0a9412d-5418-4187-979d-d922c41c49e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1"}}},"level":"info","message":"received a callback","requestID":"4ef98476cae54ec57ad3067eedd62d7f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"11aadb50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1 204 50ms","method":"DELETE","requestID":"11aadb50-097c-11f0-96bb-59c96fe0af16","responseTime":50,"status":204,"url":"/peerconnections/a171d903-e1e5-47bb-96d0-4f49aaf1daf1"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"},"level":"info","message":"Successfully finished experiment","requestID":"2d237258b3347dbb3f7317c87ccf74c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"11b8be00-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9692b9a4-cd1c-4c93-a061-1a184275b51e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9b3e7d9-c00d-4a6d-9567-4ad829d6071a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.6443586} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.708714,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"11b8be00-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e","object_type":"device","rebac_allow":false,"scope_allow":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":"11b8be00-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"11b8be00-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling 200 7ms","method":"POST","requestID":"11b8be00-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e/signaling"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe557b9b5-37ca-407f-9157-fd37121ded57': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe557b9b5-37ca-407f-9157-fd37121ded57","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"c683ee90-65ac-4b0c-92d7-707665ea37d8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.6748827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51ba0848-40ee-4c5a-870b-f6be2d99d0a9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.6755123} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"11bdee20-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"2d237258b3347dbb3f7317c87ccf74c9","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0a9412d-5418-4187-979d-d922c41c49e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4de348bf-5f26-4edf-bb26-36dd9e7bee1e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.6778123} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.320112,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"11bdee20-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4","object_type":"device","rebac_allow":false,"scope_allow":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":"11bdee20-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"11bdee20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling 200 7ms","method":"POST","requestID":"11bdee20-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/a0a9412d-5418-4187-979d-d922c41c49e4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e557b9b5-37ca-407f-9157-fd37121ded57","requestID":"2d237258b3347dbb3f7317c87ccf74c9"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e557b9b5-37ca-407f-9157-fd37121ded57 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d237258b3347dbb3f7317c87ccf74c9"} experiment-1 | {"level":"info","message":"DELETE /experiments/e557b9b5-37ca-407f-9157-fd37121ded57 204 236ms","method":"DELETE","requestID":"2d237258b3347dbb3f7317c87ccf74c9","responseTime":236,"status":204,"url":"/experiments/e557b9b5-37ca-407f-9157-fd37121ded57"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2492","request_time":"4.123","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"76032c3347262b46cf07f9a03528b70a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"93ba637c657c9b8b4d18b7efce7cdcdb","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"93ba637c657c9b8b4d18b7efce7cdcdb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"4ef98476cae54ec57ad3067eedd62d7f","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ef98476cae54ec57ad3067eedd62d7f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU","level":"info","message":"auth send jwt","requestID":"a4044affc1fba7ecf19102b32768d20e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4044affc1fba7ecf19102b32768d20e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a4044affc1fba7ecf19102b32768d20e"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.764","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eaba8ae4240f95ff5df3cc9bf400c716"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.924882,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a4044affc1fba7ecf19102b32768d20e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908892,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a4044affc1fba7ecf19102b32768d20e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a0a9412d-5418-4187-979d-d922c41c49e4' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"74792545-a3ed-4e59-ba1d-a40e3eca02dc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.8105695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4044affc1fba7ecf19102b32768d20e","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa8755a6-b7c2-4bbe-aa2e-9c5917a1f91a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.8155687} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9692b9a4-cd1c-4c93-a061-1a184275b51e' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a4044affc1fba7ecf19102b32768d20e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"a819a4a7-81ca-4b64-85be-efa0ba0d616e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.823644} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac7536a2-3eb4-4258-8963-b0ef54479cf5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.8237495} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"a4044affc1fba7ecf19102b32768d20e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"21c9fc50-d3a6-4b6b-909f-9a76d06d10a1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.8276355} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a4044affc1fba7ecf19102b32768d20e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a4044affc1fba7ecf19102b32768d20e"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"a4044affc1fba7ecf19102b32768d20e","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4044affc1fba7ecf19102b32768d20e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU","level":"info","message":"auth send jwt","requestID":"d885148da6abbeb9ea602efd54166df7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d885148da6abbeb9ea602efd54166df7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d885148da6abbeb9ea602efd54166df7"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716847,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d885148da6abbeb9ea602efd54166df7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908892,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5Mn0.bd1BmyDx5IwUHg5-kM8awyUOXvoYhA7hRORX28trTGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d885148da6abbeb9ea602efd54166df7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b245f80d-a47d-4672-82f8-1790ba71d35d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.8474069} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d885148da6abbeb9ea602efd54166df7","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2616fdbb-88e2-4608-b518-a3e1240f6dc6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.851732} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d885148da6abbeb9ea602efd54166df7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fe5bec0c-f6d3-422e-979e-df131a33b4cc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.8613706} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2845c2f8-3535-4ad1-8b95-16ceb34fdf76","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.861491} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"d885148da6abbeb9ea602efd54166df7","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.861327404Z"}]},"request_id":"ef742604-6ffa-4642-baf6-5bf20c27f96e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908892.865668} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d885148da6abbeb9ea602efd54166df7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d885148da6abbeb9ea602efd54166df7"} gateway-1 | {"time_local":"25/Mar/2025:13:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d885148da6abbeb9ea602efd54166df7"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"d885148da6abbeb9ea602efd54166df7","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5M30.j-YB2ysvAYX5A2uKEzNGhxU5F625OBC_PpjiLWOE1U4","level":"info","message":"auth send jwt","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005696,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908893,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5M30.j-YB2ysvAYX5A2uKEzNGhxU5F625OBC_PpjiLWOE1U4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"93bf499f-2e1b-4191-b244-5f6ac5f817f9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908893.7314322} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f134d2fa-a1be-4490-a914-186e3e9d4590","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908893.7354932} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"5ce7dd0e-2217-49d3-90a3-60ae58513db9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908893.7481093} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17"} device-1 | {"level":"info","message":"PATCH /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08 200 50ms","method":"PATCH","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17","responseTime":50,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08"} gateway-1 | {"time_local":"25/Mar/2025:13:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"24e7fa66ab8dbbb1b06e9dff9b5b3d17"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5M30.j-YB2ysvAYX5A2uKEzNGhxU5F625OBC_PpjiLWOE1U4","level":"info","message":"auth send jwt","requestID":"c3063aa12cb45d00a51b4fb183782556"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c3063aa12cb45d00a51b4fb183782556","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c3063aa12cb45d00a51b4fb183782556"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c3063aa12cb45d00a51b4fb183782556","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908893,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5M30.j-YB2ysvAYX5A2uKEzNGhxU5F625OBC_PpjiLWOE1U4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3063aa12cb45d00a51b4fb183782556","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c3063aa12cb45d00a51b4fb183782556"} device-1 | {"level":"info","message":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/websocket 200 13ms","method":"POST","requestID":"c3063aa12cb45d00a51b4fb183782556","responseTime":13,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/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.14","requestID":"c3063aa12cb45d00a51b4fb183782556"} device-1 | {"level":"info","message":"device 'http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3c52b6cf6aa9b0d3d53ecac85c49c66a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3c52b6cf6aa9b0d3d53ecac85c49c66a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/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":"3c52b6cf6aa9b0d3d53ecac85c49c66a"} device-1 | {"level":"info","message":"OPTIONS /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/websocket 200 1ms","method":"OPTIONS","requestID":"3c52b6cf6aa9b0d3d53ecac85c49c66a","responseTime":1,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU","level":"info","message":"auth send jwt","requestID":"8f903ba006c2a89b3d41b0fc8623dec6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f903ba006c2a89b3d41b0fc8623dec6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8f903ba006c2a89b3d41b0fc8623dec6"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223005,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8f903ba006c2a89b3d41b0fc8623dec6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8f903ba006c2a89b3d41b0fc8623dec6","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8f903ba006c2a89b3d41b0fc8623dec6"} gateway-1 | {"time_local":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8f903ba006c2a89b3d41b0fc8623dec6"} device-1 | {"level":"info","message":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/websocket 200 19ms","method":"POST","requestID":"8f903ba006c2a89b3d41b0fc8623dec6","responseTime":19,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU","level":"info","message":"auth send jwt","requestID":"2d1e06634b2a2554a7f533faf49c34d3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2d1e06634b2a2554a7f533faf49c34d3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d1e06634b2a2554a7f533faf49c34d3"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931943,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2d1e06634b2a2554a7f533faf49c34d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2d1e06634b2a2554a7f533faf49c34d3","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"f492b8ed-3ca7-4c4a-b4c3-f704c08f4a97","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.1827478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2d1e06634b2a2554a7f533faf49c34d3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d1e06634b2a2554a7f533faf49c34d3"} device-1 | {"level":"info","message":"GET /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08? 200 16ms","method":"GET","requestID":"2d1e06634b2a2554a7f533faf49c34d3","responseTime":16,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d1e06634b2a2554a7f533faf49c34d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU","level":"info","message":"auth send jwt","requestID":"98f2bdfd8749be4e1de1b144983d0270"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"98f2bdfd8749be4e1de1b144983d0270","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98f2bdfd8749be4e1de1b144983d0270"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883488,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"98f2bdfd8749be4e1de1b144983d0270","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"98f2bdfd8749be4e1de1b144983d0270","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.861327404Z"}]},"request_id":"746b0ecf-fe79-4ba9-964e-addc7a7a8391","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.2001247} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"98f2bdfd8749be4e1de1b144983d0270","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98f2bdfd8749be4e1de1b144983d0270"} device-1 | {"level":"info","message":"GET /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c? 200 8ms","method":"GET","requestID":"98f2bdfd8749be4e1de1b144983d0270","responseTime":8,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c? 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":"98f2bdfd8749be4e1de1b144983d0270"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU","level":"info","message":"auth send jwt","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf4012ba5422c5a08c8e27a7ef227f28","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.914065,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"bf4012ba5422c5a08c8e27a7ef227f28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf4012ba5422c5a08c8e27a7ef227f28","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to run experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to book experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully booked experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1344dc40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13450350-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.597249,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1344dc40-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1344dc40-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.099507,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"13450350-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"13450350-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"9b96618e-1b84-4b02-adf1-91cd513d3adc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.2671523} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1344dc40-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.861327404Z"}]},"request_id":"1f510e2b-2075-40db-8f41-20b713afe436","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.270181} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1344dc40-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13450350-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08? 200 35ms","method":"GET","requestID":"1344dc40-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13450350-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c? 200 36ms","method":"GET","requestID":"13450350-097c-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Setting up experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully set up experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1353d060-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13541e80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"13581620-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41824","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.575454,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.417435,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully running experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"13541e80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"13541e80-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1353d060-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"1353d060-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"bd9a6c04-e1e7-47b1-b5f8-a6fe8130a606","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.3701475} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1353d060-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.861327404Z"}]},"request_id":"5a570749-850e-4a16-ba22-7c740cc8316b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.3713293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13541e80-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2221134-5056-48eb-a8e9-e80e995eb4af","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.37234} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.320492,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"13581620-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"13581620-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faad88487-9fc5-46b2-9b2e-71c629ed8f0c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faad88487-9fc5-46b2-9b2e-71c629ed8f0c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"5a5897d9-f6f4-4de7-a313-70211832a1cf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.3761082} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1353d060-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bfadca9-b0bd-40f5-a63c-95d8d6730751","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.3764505} device-1 | {"level":"info","message":"GET /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08? 200 43ms","method":"GET","requestID":"1353d060-097c-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13541e80-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"bf4012ba5422c5a08c8e27a7ef227f28","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c? 200 41ms","method":"GET","requestID":"13541e80-097c-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"13581620-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling 200 16ms","method":"POST","requestID":"13581620-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"135b2360-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"135b7180-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92732058-67d7-43d7-a077-8f11f50b08b9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.411457} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.648371,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"135b2360-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","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":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"level":"info","message":"POST /experiments? 201 207ms","method":"POST","requestID":"bf4012ba5422c5a08c8e27a7ef227f28","responseTime":207,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"135b2360-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.124883,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42e2bf02-b9ba-4c38-a324-4621a7eaf3d8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.4129977} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"135b7180-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"135b7180-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU","level":"info","message":"auth send jwt","requestID":"73a1370fe38cf91507999b3376e380f4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"73a1370fe38cf91507999b3376e380f4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"135b2360-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling 200 37ms","method":"POST","requestID":"135b2360-097c-11f0-96bb-59c96fe0af16","responseTime":37,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"135b7180-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling 200 35ms","method":"POST","requestID":"135b7180-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"73a1370fe38cf91507999b3376e380f4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"136116d0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962129,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"73a1370fe38cf91507999b3376e380f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"73a1370fe38cf91507999b3376e380f4","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c60bf34-975f-4dd1-a061-9e7f41ed797d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.4257758} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.576832,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"136116d0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"136116d0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.823612342Z"}]},"request_id":"de376a64-1d90-47ba-8a0b-6f6cdc24b370","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.4278257} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"73a1370fe38cf91507999b3376e380f4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"136116d0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling 200 10ms","method":"POST","requestID":"136116d0-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"73a1370fe38cf91507999b3376e380f4"} device-1 | {"level":"info","message":"GET /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08? 200 12ms","method":"GET","requestID":"73a1370fe38cf91507999b3376e380f4","responseTime":12,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73a1370fe38cf91507999b3376e380f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Building connection plan","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} 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":"46b7a07a-a325-4a95-a0f3-b12e2a69f57a"},{"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":"0c1f83c0-4ad6-4f0e-ad92-bbbefab39733"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dc0abb0c-d2a2-424c-9d74-747269b3e9cb"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} 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/0b117529-ae33-43f5-bf6b-0cabfaeb776c"},{"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/080ec65a-4b64-4cc5-9439-4ae39b37ef08"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU","level":"info","message":"auth send jwt","requestID":"46d8651749faddb21c93cc87615366ac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46d8651749faddb21c93cc87615366ac","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"46d8651749faddb21c93cc87615366ac"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.985951,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70125,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"46d8651749faddb21c93cc87615366ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908895,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5NX0.91GTpqgFIEwsIcyoh2pMMJ4m3hOjA-NRNVJr91eYDCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"46d8651749faddb21c93cc87615366ac","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:32.861327404Z"}]},"request_id":"834df4b3-059c-4efe-b677-ee620f95dc9b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.47076} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"46d8651749faddb21c93cc87615366ac","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"46d8651749faddb21c93cc87615366ac"} device-1 | {"level":"info","message":"GET /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c? 200 14ms","method":"GET","requestID":"46d8651749faddb21c93cc87615366ac","responseTime":14,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46d8651749faddb21c93cc87615366ac"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34f31d63-1dc0-4217-9afa-b033e8aa1d48","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.4757302} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"41aa2916-3651-4d74-93d4-13e686a54fed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.4770968} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2'","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2'","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} 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":"1366bc20-097c-11f0-96bb-59c96fe0af16","responseTime":59,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"1366bc20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2","device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","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/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bf4012ba5422c5a08c8e27a7ef227f28"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"13775df0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} device-1 | {"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f7ecfb4-bfba-4ba0-ac23-0f6837c7dab3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.5717483} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.245545,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"13775df0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"13775df0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"13775df0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling 200 8ms","method":"POST","requestID":"13775df0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"137c8e10-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"105018b9-e677-4175-b425-8f17599faa78","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908895.6047142} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.269584,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"137c8e10-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","rebac_allow":false,"scope_allow":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":"137c8e10-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"137c8e10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling 200 7ms","method":"POST","requestID":"137c8e10-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling"} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"8066aef8-3264-41ef-87b8-5d7d521a60e2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2216093749647776801 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:9laI\r\na=ice-pwd:W8WXvyjSnPSGFO8ztKRb25wK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 99:3A:6C:C9:37:7E:F3:D7:4B:B9:4B:BE:D2:01:1B:AC:74:71:4E:A1:B2:CC:6C:3B:63:9B:2E:E6:56:5C:8B:02\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3680763940 1 udp 2113937151 fe4cd7cd-bcf8-4e4b-9d99-eb86f9f24dd9.local 43311 typ host generation 0 ufrag 9laI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","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/0b117529-ae33-43f5-bf6b-0cabfaeb776c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8066aef8-3264-41ef-87b8-5d7d521a60e2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"91de5280ad49185cfad9f6bb42e5b063","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"91de5280ad49185cfad9f6bb42e5b063","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/0b117529-ae33-43f5-bf6b-0cabfaeb776c"},{"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/080ec65a-4b64-4cc5-9439-4ae39b37ef08"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2"}}},"level":"info","message":"received a callback","requestID":"91de5280ad49185cfad9f6bb42e5b063"} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.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":"91de5280ad49185cfad9f6bb42e5b063","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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":"91de5280ad49185cfad9f6bb42e5b063"} device-1 | {"data":{"peerconnection":"8066aef8-3264-41ef-87b8-5d7d521a60e2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"8066aef8-3264-41ef-87b8-5d7d521a60e2","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","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/8066aef8-3264-41ef-87b8-5d7d521a60e2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8066aef8-3264-41ef-87b8-5d7d521a60e2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"55a34d180358e8a9b59e3fe9a2892319","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"55a34d180358e8a9b59e3fe9a2892319","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/0b117529-ae33-43f5-bf6b-0cabfaeb776c"},{"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/080ec65a-4b64-4cc5-9439-4ae39b37ef08"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2"}}},"level":"info","message":"received a callback","requestID":"55a34d180358e8a9b59e3fe9a2892319"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"14b29d10-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8066aef8-3264-41ef-87b8-5d7d521a60e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c466e37-d1a5-4390-addf-c78f4e5546d8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.6379013} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.799034,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"14b29d10-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2","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":"14b29d10-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"14b29d10-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2 200 11ms","method":"GET","requestID":"14b29d10-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"55a34d180358e8a9b59e3fe9a2892319","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"55a34d180358e8a9b59e3fe9a2892319"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"14ba1720-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d3a43e2-6b5e-4898-bd23-8c3ac01545a4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.6862078} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.277412,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"14ba1720-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","rebac_allow":false,"scope_allow":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":"14ba1720-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"14ba1720-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling 200 32ms","method":"POST","requestID":"14ba1720-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"14bf4740-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A","level":"info","message":"auth send jwt","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4a45d31-3376-4465-a1c5-4c2150f17fa9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.7201989} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.159827,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"14bf4740-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","rebac_allow":false,"scope_allow":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":"14bf4740-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.568467,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908897,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"14bf4740-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling 200 8ms","method":"POST","requestID":"14bf4740-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b"} experiment-1 | {"level":"info","message":"GET /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c 200 9ms","method":"GET","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b","responseTime":9,"status":200,"url":"/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"} gateway-1 | {"time_local":"25/Mar/2025:13:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"348bd0140ca8a13cf095c5ae1a4a4e3b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A","level":"info","message":"auth send jwt","requestID":"6038ac5e569685328934bf2e20e48897"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6038ac5e569685328934bf2e20e48897","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","requestID":"6038ac5e569685328934bf2e20e48897"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.751902,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6038ac5e569685328934bf2e20e48897","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908897,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6038ac5e569685328934bf2e20e48897","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Attempting to finish experiment","requestID":"6038ac5e569685328934bf2e20e48897"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"14c2c9b0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.846455,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"14c2c9b0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908897,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"14c2c9b0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2","device":"0b117529-ae33-43f5-bf6b-0cabfaeb776c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"080ec65a-4b64-4cc5-9439-4ae39b37ef08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/8066aef8-3264-41ef-87b8-5d7d521a60e2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8066aef8-3264-41ef-87b8-5d7d521a60e2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8066aef8-3264-41ef-87b8-5d7d521a60e2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8066aef8-3264-41ef-87b8-5d7d521a60e2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"fddf26c6-dfde-4799-a731-d7c8a5c593fc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.7729213} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c63c9c78-6b3e-4478-a67f-f159c3162802","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.7732918} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d5b6725248a6844f8f899173be7d3e3d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"14c2c9b0-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"d5b6725248a6844f8f899173be7d3e3d","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2e53ed00d8afefb78dc6a162efe4a2e1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2e53ed00d8afefb78dc6a162efe4a2e1","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":"closed","url":"http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c"},{"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/080ec65a-4b64-4cc5-9439-4ae39b37ef08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2"}}},"level":"info","message":"received a callback","requestID":"d5b6725248a6844f8f899173be7d3e3d"} 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/0b117529-ae33-43f5-bf6b-0cabfaeb776c"},{"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/080ec65a-4b64-4cc5-9439-4ae39b37ef08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2"}}},"level":"info","message":"received a callback","requestID":"2e53ed00d8afefb78dc6a162efe4a2e1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"14c2c9b0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2 204 70ms","method":"DELETE","requestID":"14c2c9b0-097c-11f0-96bb-59c96fe0af16","responseTime":70,"status":204,"url":"/peerconnections/8066aef8-3264-41ef-87b8-5d7d521a60e2"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"},"level":"info","message":"Successfully finished experiment","requestID":"6038ac5e569685328934bf2e20e48897"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"14cfe910-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b117529-ae33-43f5-bf6b-0cabfaeb776c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed018d6a-e001-447f-8c4f-7845aed9c7b2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.8299048} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.637351,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"14cfe910-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c","object_type":"device","rebac_allow":false,"scope_allow":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":"14cfe910-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"14cfe910-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling 200 8ms","method":"POST","requestID":"14cfe910-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"14d16fb0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faad88487-9fc5-46b2-9b2e-71c629ed8f0c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faad88487-9fc5-46b2-9b2e-71c629ed8f0c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"3fe65b95-e937-4241-b58b-6b84c829ede2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.8627436} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F080ec65a-4b64-4cc5-9439-4ae39b37ef08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2f70ccf-0c3b-4861-bfba-163b73199c24","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.8628764} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"038c5459-728b-4669-91d9-ce886ff752d1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908897.862967} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"6038ac5e569685328934bf2e20e48897","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457998,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"14d16fb0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08","object_type":"device","rebac_allow":false,"scope_allow":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":"14d16fb0-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"14d16fb0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling 200 32ms","method":"POST","requestID":"14d16fb0-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c","requestID":"6038ac5e569685328934bf2e20e48897"} gateway-1 | {"time_local":"25/Mar/2025:13:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6038ac5e569685328934bf2e20e48897"} experiment-1 | {"level":"info","message":"DELETE /experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c 204 231ms","method":"DELETE","requestID":"6038ac5e569685328934bf2e20e48897","responseTime":231,"status":204,"url":"/experiments/aad88487-9fc5-46b2-9b2e-71c629ed8f0c"} gateway-1 | {"time_local":"25/Mar/2025:13:21:37 +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.170","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"e44469237186f72282a8492775720cd4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"d5b6725248a6844f8f899173be7d3e3d","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"d5b6725248a6844f8f899173be7d3e3d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"2e53ed00d8afefb78dc6a162efe4a2e1","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"2e53ed00d8afefb78dc6a162efe4a2e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A","level":"info","message":"auth send jwt","requestID":"4bbbf1b93fdfeb2797cbd811068793f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4bbbf1b93fdfeb2797cbd811068793f3"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.856689,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:37Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.817","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0eeab9477befff79d5467251cfe843ba"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4bbbf1b93fdfeb2797cbd811068793f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908897,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5N30.q0e_scBKjvOYIqP8fx1zvxY-mMELn2CigMwSoX_Pn5A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/080ec65a-4b64-4cc5-9439-4ae39b37ef08' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"195d7923-44b1-4479-b03f-9bbbbba18b8c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.0121324} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61dd5ef5-272a-4983-ae5a-28560c769584","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.0161915} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0b117529-ae33-43f5-bf6b-0cabfaeb776c' closed"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7321652b-e3eb-4c95-9a5e-dfb27ed297e4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.0506678} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68c85899-ad6b-46f0-af6a-21f3df9506ed","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.0512683} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"61009e3f-be7b-45ee-b07a-5c80eb804f4a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.0556097} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4bbbf1b93fdfeb2797cbd811068793f3"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"4bbbf1b93fdfeb2797cbd811068793f3","responseTime":89,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:38 +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":"4bbbf1b93fdfeb2797cbd811068793f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OH0.6wYLqbV3OUuIuUlve8e101adoecb0SQDyHPqnpcJlpo","level":"info","message":"auth send jwt","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.130407,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908898,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OH0.6wYLqbV3OUuIuUlve8e101adoecb0SQDyHPqnpcJlpo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6b955d4d-1006-45bb-ad28-6fe533b5c60b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.1014097} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a25faaa-f949-4b29-8366-d3e526e3b5b6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.1057742} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"f80d7b0f-d7e5-4917-b05b-aba6271a28e0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.1171784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce0e21c3-5c99-49c6-9bc9-fec0ff1b18d8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.1173272} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"2ff487b7-ee61-4ef7-b502-c34a40405458","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908898.1481674} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7"} gateway-1 | {"time_local":"25/Mar/2025:13:21:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"bfb7030b2337b9a8e2b5d6fc7b3238a7","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"deac18a082865522f970c8c2be841b5b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"deac18a082865522f970c8c2be841b5b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"deac18a082865522f970c8c2be841b5b"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"1d24dbc2995af25a7c5e590c69ef14d0"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759472,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1d24dbc2995af25a7c5e590c69ef14d0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1d24dbc2995af25a7c5e590c69ef14d0"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"deac18a082865522f970c8c2be841b5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"deac18a082865522f970c8c2be841b5b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635891,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1d24dbc2995af25a7c5e590c69ef14d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1d24dbc2995af25a7c5e590c69ef14d0","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"a0f680ab-661d-45cb-8575-9fe4cf8635d0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.0300288} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"deac18a082865522f970c8c2be841b5b","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"efd94785-f079-4428-8e94-62fda4b3d238","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.0325184} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"1d24dbc2995af25a7c5e590c69ef14d0","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36cf576b-f246-4fcd-90c8-4ef9c2e69572","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.058878} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"deac18a082865522f970c8c2be841b5b","responseTime":28,"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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f750a054-c4fc-47f8-926e-0b6679b0923d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.062185} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1d24dbc2995af25a7c5e590c69ef14d0","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"334f545a-7d2b-416a-8c7c-78a79954736d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.068047} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"deac18a082865522f970c8c2be841b5b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"deac18a082865522f970c8c2be841b5b"} device-1 | {"level":"info","message":"PATCH /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026 200 50ms","method":"PATCH","requestID":"deac18a082865522f970c8c2be841b5b","responseTime":50,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"deac18a082865522f970c8c2be841b5b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"6b14c3aaeaea8ef08f993f6c29b29961"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6b14c3aaeaea8ef08f993f6c29b29961","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b14c3aaeaea8ef08f993f6c29b29961"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644396,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"6b14c3aaeaea8ef08f993f6c29b29961","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6b14c3aaeaea8ef08f993f6c29b29961","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"59276441-026a-4e70-a8f3-3caf909146df","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.077564} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1d24dbc2995af25a7c5e590c69ef14d0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1d24dbc2995af25a7c5e590c69ef14d0"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"1d24dbc2995af25a7c5e590c69ef14d0"} device-1 | {"level":"info","message":"PATCH /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742 200 56ms","method":"PATCH","requestID":"1d24dbc2995af25a7c5e590c69ef14d0","responseTime":56,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"f9fae8da7db2e9302e62e752cce77b93"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9fae8da7db2e9302e62e752cce77b93","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f9fae8da7db2e9302e62e752cce77b93"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708771,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f9fae8da7db2e9302e62e752cce77b93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f9fae8da7db2e9302e62e752cce77b93","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b14c3aaeaea8ef08f993f6c29b29961"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/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.14","requestID":"6b14c3aaeaea8ef08f993f6c29b29961"} device-1 | {"level":"info","message":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/websocket 200 42ms","method":"POST","requestID":"6b14c3aaeaea8ef08f993f6c29b29961","responseTime":42,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f9fae8da7db2e9302e62e752cce77b93"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/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.14","requestID":"f9fae8da7db2e9302e62e752cce77b93"} device-1 | {"level":"info","message":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/websocket 200 17ms","method":"POST","requestID":"f9fae8da7db2e9302e62e752cce77b93","responseTime":17,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"c625dd26fba7e4f6002dfa4d67344106"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c625dd26fba7e4f6002dfa4d67344106","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c625dd26fba7e4f6002dfa4d67344106"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63445,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"c625dd26fba7e4f6002dfa4d67344106","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c625dd26fba7e4f6002dfa4d67344106","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"3afea591-5dcb-42bc-b607-5485bc6a31d5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.1754475} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c625dd26fba7e4f6002dfa4d67344106","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c625dd26fba7e4f6002dfa4d67344106"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742? 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":"c625dd26fba7e4f6002dfa4d67344106"} device-1 | {"level":"info","message":"GET /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742? 200 33ms","method":"GET","requestID":"c625dd26fba7e4f6002dfa4d67344106","responseTime":33,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"ff16d773f28f8e4ed342338137312d9f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ff16d773f28f8e4ed342338137312d9f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff16d773f28f8e4ed342338137312d9f"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651371,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ff16d773f28f8e4ed342338137312d9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ff16d773f28f8e4ed342338137312d9f","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"8e01908a-192b-4035-a0c2-5e4c710f8f51","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.2150855} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ff16d773f28f8e4ed342338137312d9f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff16d773f28f8e4ed342338137312d9f"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026? 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":"ff16d773f28f8e4ed342338137312d9f"} device-1 | {"level":"info","message":"GET /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026? 200 9ms","method":"GET","requestID":"ff16d773f28f8e4ed342338137312d9f","responseTime":9,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"97112daf50eeec2da6ad19122dbc0aa2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":24.829289,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"97112daf50eeec2da6ad19122dbc0aa2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"97112daf50eeec2da6ad19122dbc0aa2","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to run experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to book experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully booked experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15b0d330-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15b0fa40-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599139,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15b0d330-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"15b0d330-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.572963,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15b0fa40-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"15b0fa40-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"b75c889e-c99f-428c-9dda-73b3184166bc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.3057806} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"15b0d330-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"408ed712-bdab-4133-91a6-6f65445dc0d2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.3064852} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"15b0fa40-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15b0d330-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742? 200 11ms","method":"GET","requestID":"15b0d330-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15b0fa40-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026? 200 11ms","method":"GET","requestID":"15b0fa40-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Setting up experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully set up experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15bb3370-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15bb5a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15bf5220-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully running experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67558,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15bb3370-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"15bb3370-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6703,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15bb5a80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"15bb5a80-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.539204,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98a64f0e-19fb-4eb9-be64-4ebfa84ef3aa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.399644} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15bf5220-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"15bf5220-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15bf5220-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling 200 10ms","method":"POST","requestID":"15bf5220-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"b6b038a5-1d42-4bdd-aa22-cb936e249ae0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4039078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15bb3370-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"f712d5b9-4f3d-4c3c-b627-af14318432ad","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4051507} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15bb5a80-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15c14df0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0f8dc57e-50fb-44f6-b159-7b903af3de6e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0f8dc57e-50fb-44f6-b159-7b903af3de6e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"3ce31841-34f0-47b7-a3b7-bb4d207dec02","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4090204} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15bb3370-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"921ab743-e02f-42e3-886c-69ffbc2593bf","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4092472} device-1 | {"level":"info","message":"GET /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742? 200 43ms","method":"GET","requestID":"15bb3370-097c-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15bb5a80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026? 200 43ms","method":"GET","requestID":"15bb5a80-097c-11f0-96bb-59c96fe0af16","responseTime":43,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026?"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"97112daf50eeec2da6ad19122dbc0aa2","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76451fd3-7f01-42cb-97df-7eccebc90580","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4116902} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.705003,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15c14df0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","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":"15c23850-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15c14df0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47baeb15-4fd0-41e8-af28-2293b7242394","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4167824} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40533,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15c23850-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","rebac_allow":false,"scope_allow":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":"15c23850-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 224ms","method":"POST","requestID":"97112daf50eeec2da6ad19122dbc0aa2","responseTime":224,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15c14df0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling 200 41ms","method":"POST","requestID":"15c14df0-097c-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15c23850-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling 200 36ms","method":"POST","requestID":"15c23850-097c-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15c7dda0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62946,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01bd28b1-b9b5-40e8-9731-a0720c4ce806","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4541357} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.013887,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15c7dda0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","rebac_allow":false,"scope_allow":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":"15c7dda0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.050644607Z"}]},"request_id":"9feae15d-56ee-4341-a5c7-4258530a0796","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4572911} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15c7dda0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling 200 7ms","method":"POST","requestID":"15c7dda0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Building connection plan","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} 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":"d60c3a3f-9dde-4773-bc16-5869dab781e2"},{"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":"5d4ce59b-821d-47d4-8ff2-7e42845bd211"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"276bc13e-743f-4078-bfa9-0a5ec01a9b57"}]},"level":"info","message":"Built pairwise service configurations","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} 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/7ab16083-49e8-40c2-90fc-89d4ecc6c026"},{"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/6816b2ca-4925-4b9f-b376-ed8f7549f742"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742? 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":"448e1ae56dbe6dbcb0fc4e382ced2da1"} device-1 | {"level":"info","message":"GET /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742? 200 10ms","method":"GET","requestID":"448e1ae56dbe6dbcb0fc4e382ced2da1","responseTime":10,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742?"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.748873,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15c96440-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0","level":"info","message":"auth send jwt","requestID":"410225001b865f490741ea62741a819e"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"410225001b865f490741ea62741a819e","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"410225001b865f490741ea62741a819e"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644523,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"410225001b865f490741ea62741a819e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908899,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODg5OX0.yDwbYUEdeP1t4-KBLibx_KyiMCKge9vEbs6-D9-bZk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"410225001b865f490741ea62741a819e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"ee587c7b-b003-4100-bf70-4f1ddf6d0aea","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4958315} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"083e5e3f-43cd-43c2-81da-075a6d959f64","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.4960065} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:38.117151435Z"}]},"request_id":"1fb8602f-41e8-445a-b9dd-07a1664a8173","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.496589} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"410225001b865f490741ea62741a819e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"410225001b865f490741ea62741a819e"} device-1 | {"level":"info","message":"GET /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026? 200 11ms","method":"GET","requestID":"410225001b865f490741ea62741a819e","responseTime":11,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026? 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":"410225001b865f490741ea62741a819e"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a'","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a'","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"15c96440-097c-11f0-96bb-59c96fe0af16"} 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":"15c96440-097c-11f0-96bb-59c96fe0af16","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":"15c96440-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"97112daf50eeec2da6ad19122dbc0aa2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15dc9e20-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8ee7146-1971-4707-90f6-c9ef1a88f9d9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.59017} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318164,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15dc9e20-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","rebac_allow":false,"scope_allow":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":"15dc9e20-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15dc9e20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling 200 8ms","method":"POST","requestID":"15dc9e20-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"15ddfdb0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac2a8405-6b9e-4f21-8305-6f063bfa4ca0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908899.5992842} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.303516,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"15ddfdb0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","rebac_allow":false,"scope_allow":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":"15ddfdb0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"15ddfdb0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling 200 7ms","method":"POST","requestID":"15ddfdb0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling"} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/303d8b5d-5656-486a-a962-89f429aed97a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b8970ece91479fe63d26f4509242001","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4b8970ece91479fe63d26f4509242001","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":"connecting","url":"http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026"},{"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/6816b2ca-4925-4b9f-b376-ed8f7549f742"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a"}}},"level":"info","message":"received a callback","requestID":"4b8970ece91479fe63d26f4509242001"} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"4b8970ece91479fe63d26f4509242001","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b8970ece91479fe63d26f4509242001"} device-1 | {"data":{"peerconnection":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"303d8b5d-5656-486a-a962-89f429aed97a","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/303d8b5d-5656-486a-a962-89f429aed97a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e32a3fd7d712efe13160a94ac849480e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e32a3fd7d712efe13160a94ac849480e","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/7ab16083-49e8-40c2-90fc-89d4ecc6c026"},{"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/6816b2ca-4925-4b9f-b376-ed8f7549f742"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a"}}},"level":"info","message":"received a callback","requestID":"e32a3fd7d712efe13160a94ac849480e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"17140cb0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F303d8b5d-5656-486a-a962-89f429aed97a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63ba601e-cd88-45a6-bbe2-3e9f8ef00d2b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.6318004} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.180141,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"17140cb0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a","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":"17140cb0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"17140cb0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/303d8b5d-5656-486a-a962-89f429aed97a 200 8ms","method":"GET","requestID":"17140cb0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"e32a3fd7d712efe13160a94ac849480e","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"e32a3fd7d712efe13160a94ac849480e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1717b630-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04f13a5f-1c43-452f-9b37-451f6909447b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.6554854} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.331619,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1717b630-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1717b630-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1717b630-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling 200 8ms","method":"POST","requestID":"1717b630-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"17193cd0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76b2a6e3-7948-4d1d-b2e5-13fb5e1a76e8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.6651018} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.180707,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"17193cd0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","rebac_allow":false,"scope_allow":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":"17193cd0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"17193cd0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling 200 7ms","method":"POST","requestID":"17193cd0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk","level":"info","message":"auth send jwt","requestID":"edc6dc2b8f77d256f09b7badf24f9c49"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"edc6dc2b8f77d256f09b7badf24f9c49","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","requestID":"edc6dc2b8f77d256f09b7badf24f9c49"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.058265,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"edc6dc2b8f77d256f09b7badf24f9c49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908901,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"edc6dc2b8f77d256f09b7badf24f9c49","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"25/Mar/2025:13:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"edc6dc2b8f77d256f09b7badf24f9c49"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","requestID":"edc6dc2b8f77d256f09b7badf24f9c49"} experiment-1 | {"level":"info","message":"GET /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e 200 31ms","method":"GET","requestID":"edc6dc2b8f77d256f09b7badf24f9c49","responseTime":31,"status":200,"url":"/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk","level":"info","message":"auth send jwt","requestID":"f50a5e95ea15f980405118bafbcc0dba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f50a5e95ea15f980405118bafbcc0dba","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","requestID":"f50a5e95ea15f980405118bafbcc0dba"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.686228,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f50a5e95ea15f980405118bafbcc0dba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908901,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f50a5e95ea15f980405118bafbcc0dba","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Attempting to finish experiment","requestID":"f50a5e95ea15f980405118bafbcc0dba"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"172809e0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.922717,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"172809e0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908901,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"172809e0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6816b2ca-4925-4b9f-b376-ed8f7549f742","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ab16083-49e8-40c2-90fc-89d4ecc6c026","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/303d8b5d-5656-486a-a962-89f429aed97a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F303d8b5d-5656-486a-a962-89f429aed97a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F303d8b5d-5656-486a-a962-89f429aed97a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"cb5a4354-5939-48c8-8eba-9ae407d0f7b1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.7959163} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b7e15b8c83099e8e6ae565aaddab07c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b7e15b8c83099e8e6ae565aaddab07c","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"443599c6-7881-4d08-8fa2-373084819bf3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.7962596} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44dbc57f9007ea52750748827b92ab3d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/7ab16083-49e8-40c2-90fc-89d4ecc6c026"},{"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/6816b2ca-4925-4b9f-b376-ed8f7549f742"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a"}}},"level":"info","message":"received a callback","requestID":"0b7e15b8c83099e8e6ae565aaddab07c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"172809e0-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"44dbc57f9007ea52750748827b92ab3d","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/7ab16083-49e8-40c2-90fc-89d4ecc6c026"},{"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/6816b2ca-4925-4b9f-b376-ed8f7549f742"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a"}}},"level":"info","message":"received a callback","requestID":"44dbc57f9007ea52750748827b92ab3d"} device-1 | {"data":{"peerconnection":"303d8b5d-5656-486a-a962-89f429aed97a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"172809e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/303d8b5d-5656-486a-a962-89f429aed97a 204 60ms","method":"DELETE","requestID":"172809e0-097c-11f0-96bb-59c96fe0af16","responseTime":60,"status":204,"url":"/peerconnections/303d8b5d-5656-486a-a962-89f429aed97a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"},"level":"info","message":"Successfully finished experiment","requestID":"f50a5e95ea15f980405118bafbcc0dba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"173661c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab16083-49e8-40c2-90fc-89d4ecc6c026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d891e99-b43f-404e-a7c1-18edef95ab3c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.8565485} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.651065,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"173661c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"173661c0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"173661c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling 200 8ms","method":"POST","requestID":"173661c0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1737e860-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0f8dc57e-50fb-44f6-b159-7b903af3de6e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0f8dc57e-50fb-44f6-b159-7b903af3de6e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"60b2ba40-1ff9-46d9-9c14-4526a77e5deb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.8628945} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad832000-64d4-4f33-acfa-7509eef0bda8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.8632004} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"f50a5e95ea15f980405118bafbcc0dba","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6816b2ca-4925-4b9f-b376-ed8f7549f742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d9724aa-4057-4cd1-8a9c-b56b42817160","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908901.8668196} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.520229,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1737e860-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742","object_type":"device","rebac_allow":false,"scope_allow":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":"1737e860-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1737e860-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling 200 33ms","method":"POST","requestID":"1737e860-097c-11f0-96bb-59c96fe0af16","responseTime":33,"status":200,"url":"/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e","requestID":"f50a5e95ea15f980405118bafbcc0dba"} gateway-1 | {"time_local":"25/Mar/2025:13:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f50a5e95ea15f980405118bafbcc0dba"} experiment-1 | {"level":"info","message":"DELETE /experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e 204 237ms","method":"DELETE","requestID":"f50a5e95ea15f980405118bafbcc0dba","responseTime":237,"status":204,"url":"/experiments/0f8dc57e-50fb-44f6-b159-7b903af3de6e"} gateway-1 | {"time_local":"25/Mar/2025:13:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.870","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"eda48a3acace269275e83cde7faf2323"} gateway-1 | {"time_local":"25/Mar/2025:13:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"2.861","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"f1ee3e6b5595a0c45cbec84d340fd9fe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"0b7e15b8c83099e8e6ae565aaddab07c","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b7e15b8c83099e8e6ae565aaddab07c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"44dbc57f9007ea52750748827b92ab3d","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"44dbc57f9007ea52750748827b92ab3d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk","level":"info","message":"auth send jwt","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6816b2ca-4925-4b9f-b376-ed8f7549f742' closed"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.771677,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908901,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMX0.SuOReNTrNjDUKE0U8bSTFHJNqrjzk3hJfl-unWN2ysk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7ab16083-49e8-40c2-90fc-89d4ecc6c026' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45d68ce7-a9c5-45b0-b205-7c18fd4dfe13","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0148308} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd0c6d25-577a-4886-ad5c-5e52d33460c2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0199056} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"ac5e18e6-f8ff-47a0-8794-1f0ed0c4aca7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0385232} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adbf11cd-d0af-4fac-9a01-00a3a0a3afe7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0386727} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"fa72d6b8-c27c-4383-b2ba-526c93cf1015","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.042993} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5"} gateway-1 | {"time_local":"25/Mar/2025:13:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"ade281fafde7ba8ebefa223f9bc5e7b5","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80","level":"info","message":"auth send jwt","requestID":"a0bcdd9d878bded2c5d6ef929e779aad"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a0bcdd9d878bded2c5d6ef929e779aad"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.563128,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a0bcdd9d878bded2c5d6ef929e779aad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908902,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5301f43-f5b9-435d-955f-caa9f6b27ce9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0684848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"016b5a6c-4263-4c72-9ef5-0e8b40cd3e88","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0731874} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"d401d850-0d06-441f-a49b-6f9023cc0ebd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0830514} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97732505-fe36-43b5-adcb-f4ff30954b2a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.0833468} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"3a2de405-10b9-445b-9d28-afd91af78087","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.087768} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a0bcdd9d878bded2c5d6ef929e779aad"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"a0bcdd9d878bded2c5d6ef929e779aad","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0bcdd9d878bded2c5d6ef929e779aad"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80","level":"info","message":"auth send jwt","requestID":"73bfabd7468336c17bc858edde76e071"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"73bfabd7468336c17bc858edde76e071","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"73bfabd7468336c17bc858edde76e071"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80","level":"info","message":"auth send jwt","requestID":"2223e0a584fd3ace11731a60ade56f86"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2223e0a584fd3ace11731a60ade56f86","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2223e0a584fd3ace11731a60ade56f86"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696703,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"73bfabd7468336c17bc858edde76e071","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908902,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"73bfabd7468336c17bc858edde76e071","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681257,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2223e0a584fd3ace11731a60ade56f86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908902,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2223e0a584fd3ace11731a60ade56f86","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"bc81341f-1206-4cff-bbb2-c13366d7fdd0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.904532} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"73bfabd7468336c17bc858edde76e071","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"250bc384-bdbf-4d4f-9d24-e5f6982f51f7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.905112} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2223e0a584fd3ace11731a60ade56f86","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05b694c5-fa18-4099-872f-b9fe8bcbbd11","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.9084024} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"73bfabd7468336c17bc858edde76e071","responseTime":2,"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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1be35d2-9995-4032-8987-baaa5ea3a318","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.9093685} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2223e0a584fd3ace11731a60ade56f86","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"48660658-6858-4bc5-8edb-d3127c262f36","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.911655} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2223e0a584fd3ace11731a60ade56f86","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2223e0a584fd3ace11731a60ade56f86"} gateway-1 | {"time_local":"25/Mar/2025:13:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"2223e0a584fd3ace11731a60ade56f86"} device-1 | {"level":"info","message":"PATCH /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211 200 16ms","method":"PATCH","requestID":"2223e0a584fd3ace11731a60ade56f86","responseTime":16,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80","level":"info","message":"auth send jwt","requestID":"3b300f0440bcddca9e2badd6470fbae0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b300f0440bcddca9e2badd6470fbae0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3b300f0440bcddca9e2badd6470fbae0"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697265,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3b300f0440bcddca9e2badd6470fbae0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908902,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b300f0440bcddca9e2badd6470fbae0","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"7ebfbd5b-307d-44a5-9526-677dec83f6a7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908902.9488902} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"73bfabd7468336c17bc858edde76e071","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"73bfabd7468336c17bc858edde76e071"} gateway-1 | {"time_local":"25/Mar/2025:13:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"73bfabd7468336c17bc858edde76e071"} device-1 | {"level":"info","message":"PATCH /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0 200 81ms","method":"PATCH","requestID":"73bfabd7468336c17bc858edde76e071","responseTime":81,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80","level":"info","message":"auth send jwt","requestID":"8acd45ee87778cad33330f24accf877d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8acd45ee87778cad33330f24accf877d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8acd45ee87778cad33330f24accf877d"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3b300f0440bcddca9e2badd6470fbae0"} gateway-1 | {"time_local":"25/Mar/2025:13:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/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.14","requestID":"3b300f0440bcddca9e2badd6470fbae0"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713413,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:42Z"} device-1 | {"level":"info","message":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/websocket 200 40ms","method":"POST","requestID":"3b300f0440bcddca9e2badd6470fbae0","responseTime":40,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8acd45ee87778cad33330f24accf877d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908902,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwMn0.a555OsiXFEi2P56X_y8tl6ur9lj6UYd6LvFFLyF7B80"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8acd45ee87778cad33330f24accf877d","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8acd45ee87778cad33330f24accf877d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"8acd45ee87778cad33330f24accf877d"} device-1 | {"level":"info","message":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/websocket 200 15ms","method":"POST","requestID":"8acd45ee87778cad33330f24accf877d","responseTime":15,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs","level":"info","message":"auth send jwt","requestID":"57514619a1283774c68cd3eb89454c31"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57514619a1283774c68cd3eb89454c31","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57514619a1283774c68cd3eb89454c31"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.829245,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"57514619a1283774c68cd3eb89454c31","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"57514619a1283774c68cd3eb89454c31","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"96f05207-cd17-4b19-ae29-b1e1c5f576ac","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.0445378} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"57514619a1283774c68cd3eb89454c31","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57514619a1283774c68cd3eb89454c31"} gateway-1 | {"time_local":"25/Mar/2025:13:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211? 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":"57514619a1283774c68cd3eb89454c31"} device-1 | {"level":"info","message":"GET /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211? 200 33ms","method":"GET","requestID":"57514619a1283774c68cd3eb89454c31","responseTime":33,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs","level":"info","message":"auth send jwt","requestID":"720091c5d0cb01b326b8190aa44289c5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"720091c5d0cb01b326b8190aa44289c5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"720091c5d0cb01b326b8190aa44289c5"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67564,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"720091c5d0cb01b326b8190aa44289c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"720091c5d0cb01b326b8190aa44289c5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"42f54313-36e0-4f60-a335-22c172b20eca","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.0573046} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"720091c5d0cb01b326b8190aa44289c5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"720091c5d0cb01b326b8190aa44289c5"} device-1 | {"level":"info","message":"GET /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0? 200 9ms","method":"GET","requestID":"720091c5d0cb01b326b8190aa44289c5","responseTime":9,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0? 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":"720091c5d0cb01b326b8190aa44289c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs","level":"info","message":"auth send jwt","requestID":"a10105e35501eab479bd75dc599eb92d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a10105e35501eab479bd75dc599eb92d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a10105e35501eab479bd75dc599eb92d"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.644304,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a10105e35501eab479bd75dc599eb92d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a10105e35501eab479bd75dc599eb92d","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to run experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to book experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully booked experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17fb3860-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17fb5f70-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859029,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"17fb3860-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17fb3860-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734037,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"17fb5f70-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17fb5f70-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"dc7a7a0f-9fa6-4245-a6cd-e0599fb7347b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.152151} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"17fb3860-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"c1c137bf-9d74-4617-ac2f-ea76c9229d9a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.1533473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"17fb5f70-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17fb3860-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211? 200 16ms","method":"GET","requestID":"17fb3860-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17fb5f70-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0? 200 16ms","method":"GET","requestID":"17fb5f70-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Setting up experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully set up experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1805e6c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"18060dd0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"180634e0-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully running experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57180","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735351,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1805e6c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1805e6c0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.540959,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"18060dd0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"18060dd0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21: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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"6e0fa5ff-15ac-4dec-ac8c-919fd7f70053","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2219481} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1805e6c0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"664c4463-7f07-4c2a-88b3-fdb03b7503a9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2229936} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba9853d8-e1de-4df6-8b3f-d484118ea003","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.223671} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"18060dd0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.710212,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"180634e0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","rebac_allow":false,"scope_allow":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":"180634e0-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1805e6c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211? 200 16ms","method":"GET","requestID":"1805e6c0-097c-11f0-96bb-59c96fe0af16","responseTime":16,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"18060dd0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0? 200 15ms","method":"GET","requestID":"18060dd0-097c-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"180634e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling 200 15ms","method":"POST","requestID":"180634e0-097c-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1808ccf0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1808f400-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cc19a15-21fc-44d8-98a9-e88805c0b39d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cc19a15-21fc-44d8-98a9-e88805c0b39d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"fe4e0091-2b65-4f96-8eec-65a60dc6db6a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2319055} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"beda594b-4383-4f5e-82c1-be18f908e238","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2320642} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"a10105e35501eab479bd75dc599eb92d","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.577559,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aedc759d-8055-4de3-99ea-75a628afa0dc","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.236142} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1808ccf0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1808ccf0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a28167d-2c1b-4523-8176-3888e9fa009f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2402825} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.161555,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1808ccf0-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a10105e35501eab479bd75dc599eb92d"} device-1 | {"level":"info","message":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling 200 10ms","method":"POST","requestID":"1808ccf0-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1808f400-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","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":"25/Mar/2025:13:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"a10105e35501eab479bd75dc599eb92d","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1808f400-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"180ac8c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1808f400-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling 200 14ms","method":"POST","requestID":"1808f400-097c-11f0-96bb-59c96fe0af16","responseTime":14,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs","level":"info","message":"auth send jwt","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc8fbd96-54a0-47c9-9d76-1d6d3fe15aa6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.248728} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467773,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"180ac8c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"180ac8c0-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.620898,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"180ac8c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling 200 11ms","method":"POST","requestID":"180ac8c0-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.038498013Z"}]},"request_id":"0525e12e-2bb7-4cd5-8eef-83a43039a59c","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2550423} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Building connection plan","requestID":"a10105e35501eab479bd75dc599eb92d"} 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":"f93d4a62-38e3-4698-94ca-dda909489f00"},{"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":"5ecbc8cc-55b8-4e26-aec1-ed2b39aae7de"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7091cb80-f589-4488-9464-a7cfa0f0af2b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a10105e35501eab479bd75dc599eb92d"} 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/f009f1ff-ba2f-4d66-9d91-a3e4769dc211"},{"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/d463e487-0ea8-4ca6-8823-d7d1aadc32f0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a10105e35501eab479bd75dc599eb92d"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a"} device-1 | {"level":"info","message":"GET /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211? 200 11ms","method":"GET","requestID":"b6dcb0d6370fd94e2bc6243d8fcdd44a","responseTime":11,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211? 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":"b6dcb0d6370fd94e2bc6243d8fcdd44a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs","level":"info","message":"auth send jwt","requestID":"8fde32c4ddecb5af6d3c2f678b057557"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"8fde32c4ddecb5af6d3c2f678b057557","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8fde32c4ddecb5af6d3c2f678b057557"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.010347,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"180e9950-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.241504,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8fde32c4ddecb5af6d3c2f678b057557","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908903,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwM30.ao9gUmDOKM_6WsGFFn3FAsxzqkUMTiZu5Dys2UjCQDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8fde32c4ddecb5af6d3c2f678b057557","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:42.083015468Z"}]},"request_id":"5b142b04-277c-465d-95f5-8666102ca819","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.2797034} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8fde32c4ddecb5af6d3c2f678b057557","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8fde32c4ddecb5af6d3c2f678b057557"} device-1 | {"level":"info","message":"GET /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0? 200 12ms","method":"GET","requestID":"8fde32c4ddecb5af6d3c2f678b057557","responseTime":12,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8fde32c4ddecb5af6d3c2f678b057557"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"add59cd2-5de3-4ee8-9685-b1902514a4d4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.283868} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eee2def7-a9ff-4c78-a37f-8e39dbbedd5e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.284091} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8'","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8'","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"180e9950-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a10105e35501eab479bd75dc599eb92d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1819e3f0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60feea32-7f8a-4d48-b815-57f99028ad96","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.347383} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.278294,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1819e3f0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","rebac_allow":false,"scope_allow":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":"1819e3f0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1819e3f0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling 200 8ms","method":"POST","requestID":"1819e3f0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"181b4380-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a158cd74-39a2-41fd-91e7-b7a1a8319d81","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908903.3800125} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.171701,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"181b4380-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","rebac_allow":false,"scope_allow":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":"181b4380-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"181b4380-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling 200 31ms","method":"POST","requestID":"181b4380-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling"} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"95fb2dc9-bc49-4071-b496-5020882235c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"95fb2dc9-bc49-4071-b496-5020882235c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/95fb2dc9-bc49-4071-b496-5020882235c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95fb2dc9-bc49-4071-b496-5020882235c8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"231882ce9a465c417347c90166af2532","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"231882ce9a465c417347c90166af2532","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211"},{"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/d463e487-0ea8-4ca6-8823-d7d1aadc32f0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8"}}},"level":"info","message":"received a callback","requestID":"231882ce9a465c417347c90166af2532"} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"231882ce9a465c417347c90166af2532","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"231882ce9a465c417347c90166af2532"} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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":"95fb2dc9-bc49-4071-b496-5020882235c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"95fb2dc9-bc49-4071-b496-5020882235c8","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/95fb2dc9-bc49-4071-b496-5020882235c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95fb2dc9-bc49-4071-b496-5020882235c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18f9ffdfd846dcdafc9d2033c8851902","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18f9ffdfd846dcdafc9d2033c8851902","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/f009f1ff-ba2f-4d66-9d91-a3e4769dc211"},{"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/d463e487-0ea8-4ca6-8823-d7d1aadc32f0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8"}}},"level":"info","message":"received a callback","requestID":"18f9ffdfd846dcdafc9d2033c8851902"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"195b64a0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95fb2dc9-bc49-4071-b496-5020882235c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2debd83-d4da-4a1e-9ef1-6e34e04cfcd3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.4545186} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.681093,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"195b64a0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8","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":"195b64a0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"195b64a0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8 200 8ms","method":"GET","requestID":"195b64a0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"18f9ffdfd846dcdafc9d2033c8851902","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"18f9ffdfd846dcdafc9d2033c8851902"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"19626980-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45352777-0fc2-479b-8754-fa54183d2677","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.5005357} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491738,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"19626980-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"19626980-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"19626980-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling 200 8ms","method":"POST","requestID":"19626980-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1963f020-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0","level":"info","message":"auth send jwt","requestID":"3acbc3fb1d7a10d9f869c022a4bea673"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3acbc3fb1d7a10d9f869c022a4bea673","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","requestID":"3acbc3fb1d7a10d9f869c022a4bea673"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b5337e5-e9a3-4ba7-a302-c42454ee505a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.5103076} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.586777,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1963f020-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1963f020-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.65816,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"3acbc3fb1d7a10d9f869c022a4bea673","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908905,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3acbc3fb1d7a10d9f869c022a4bea673","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","requestID":"3acbc3fb1d7a10d9f869c022a4bea673"} gateway-1 | {"time_local":"25/Mar/2025:13:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3acbc3fb1d7a10d9f869c022a4bea673"} experiment-1 | {"level":"info","message":"GET /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d 200 33ms","method":"GET","requestID":"3acbc3fb1d7a10d9f869c022a4bea673","responseTime":33,"status":200,"url":"/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1963f020-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling 200 36ms","method":"POST","requestID":"1963f020-097c-11f0-96bb-59c96fe0af16","responseTime":36,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0","level":"info","message":"auth send jwt","requestID":"2a61cb8e21dfacdd56b1cc751c654489"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a61cb8e21dfacdd56b1cc751c654489","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","requestID":"2a61cb8e21dfacdd56b1cc751c654489"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.367968,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2a61cb8e21dfacdd56b1cc751c654489","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908905,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2a61cb8e21dfacdd56b1cc751c654489","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Attempting to finish experiment","requestID":"2a61cb8e21dfacdd56b1cc751c654489"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"196b4320-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.655288,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"196b4320-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908905,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"196b4320-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d463e487-0ea8-4ca6-8823-d7d1aadc32f0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f009f1ff-ba2f-4d66-9d91-a3e4769dc211","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"name":"crosslab.soa_client.connection_webrtc","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/95fb2dc9-bc49-4071-b496-5020882235c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95fb2dc9-bc49-4071-b496-5020882235c8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95fb2dc9-bc49-4071-b496-5020882235c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95fb2dc9-bc49-4071-b496-5020882235c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"2a4fe190-4570-4426-9bb2-cbed25a35c6e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.5898619} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f986a61b-88ea-4257-94df-09545de93928","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.590225} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"196b4320-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ec182a3bcc9f75ef2c1e0402fc0a34bd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec182a3bcc9f75ef2c1e0402fc0a34bd","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5097fa4eda5801d77bba60f3232572a4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5097fa4eda5801d77bba60f3232572a4","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/f009f1ff-ba2f-4d66-9d91-a3e4769dc211"},{"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/d463e487-0ea8-4ca6-8823-d7d1aadc32f0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8"}}},"level":"info","message":"received a callback","requestID":"ec182a3bcc9f75ef2c1e0402fc0a34bd"} 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/f009f1ff-ba2f-4d66-9d91-a3e4769dc211"},{"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/d463e487-0ea8-4ca6-8823-d7d1aadc32f0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8"}}},"level":"info","message":"received a callback","requestID":"5097fa4eda5801d77bba60f3232572a4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"196b4320-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8 204 49ms","method":"DELETE","requestID":"196b4320-097c-11f0-96bb-59c96fe0af16","responseTime":49,"status":204,"url":"/peerconnections/95fb2dc9-bc49-4071-b496-5020882235c8"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"},"level":"info","message":"Successfully finished experiment","requestID":"2a61cb8e21dfacdd56b1cc751c654489"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"19788990-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff009f1ff-ba2f-4d66-9d91-a3e4769dc211","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ba67413-541e-4496-9cf0-b655d05e1858","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.6451392} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549161,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"19788990-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211","object_type":"device","rebac_allow":false,"scope_allow":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":"19788990-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"19788990-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling 200 8ms","method":"POST","requestID":"19788990-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"197a1030-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cc19a15-21fc-44d8-98a9-e88805c0b39d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cc19a15-21fc-44d8-98a9-e88805c0b39d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"7d1095e7-1df6-4d01-862f-da6b3ee90cef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.651814} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2659c38-2d9a-4a4e-9fed-b579032f25b4","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.6520908} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2a61cb8e21dfacdd56b1cc751c654489","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd463e487-0ea8-4ca6-8823-d7d1aadc32f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a796df5-ff7c-4dcc-af15-4617fe06bb68","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.6554923} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.155663,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"197a1030-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0","object_type":"device","rebac_allow":false,"scope_allow":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":"197a1030-097c-11f0-96bb-59c96fe0af16","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"197a1030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling 200 32ms","method":"POST","requestID":"197a1030-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d","requestID":"2a61cb8e21dfacdd56b1cc751c654489"} gateway-1 | {"time_local":"25/Mar/2025:13:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a61cb8e21dfacdd56b1cc751c654489"} experiment-1 | {"level":"info","message":"DELETE /experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d 204 206ms","method":"DELETE","requestID":"2a61cb8e21dfacdd56b1cc751c654489","responseTime":206,"status":204,"url":"/experiments/0cc19a15-21fc-44d8-98a9-e88805c0b39d"} gateway-1 | {"time_local":"25/Mar/2025:13:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"2.792","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"d11d0e27938d64e9e5c0e35389ecc518"} gateway-1 | {"time_local":"25/Mar/2025:13:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.779","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"39cf518d531f5e8a1a4fdd106ab4d68b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"ec182a3bcc9f75ef2c1e0402fc0a34bd","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec182a3bcc9f75ef2c1e0402fc0a34bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"5097fa4eda5801d77bba60f3232572a4","responseTime":185,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"5097fa4eda5801d77bba60f3232572a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0","level":"info","message":"auth send jwt","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d463e487-0ea8-4ca6-8823-d7d1aadc32f0' closed"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.905514,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908905,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f009f1ff-ba2f-4d66-9d91-a3e4769dc211' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"926dc235-7549-42b8-ba5e-cc3268cd1c64","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.8272743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb93edb1-a77a-4b08-b78f-2ce64aac88e3","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.8327143} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"c9f0d4c5-8026-44ab-a1a0-6b21307ceafb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.8429787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd37e81f-b4f2-448c-a7d5-43e41aac67fa","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.8432376} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.842952606Z"}]},"request_id":"841c225b-878e-4aec-938f-ea3670ba4fb6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.8474143} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e32d232cb5f1e73d17df7a4d5cc5151"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0","level":"info","message":"auth send jwt","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.85127,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908905,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwNX0.gj38iYtQLP0b6HyRx9beP_QUFWYeU7Wdh-R7ZyxpXN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f467aa94-a824-4e62-8470-9cd96fa3eceb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.8950675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aaf0d71e-dd0b-4b23-a942-c6118ca0bd7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.9240246} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"d412256e-340c-4521-888c-affd024755fd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.9338398} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6be5b44c-1cfb-443e-87bf-a7e29f5ed5c8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.9342005} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.933813600Z"}]},"request_id":"e8498121-644b-48f2-9650-c2fd4de52782","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908905.9399521} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4"} gateway-1 | {"time_local":"25/Mar/2025:13:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"ee7d5d4d28682c65b4eaf5fe82df22c4","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fd9e4e00d08512a3b072180a8c50ea6f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fd9e4e00d08512a3b072180a8c50ea6f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a231daa5d2e4cbbc1a3982365155ad40","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/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":"fd9e4e00d08512a3b072180a8c50ea6f"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a231daa5d2e4cbbc1a3982365155ad40","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/websocket 200 1ms","method":"OPTIONS","requestID":"fd9e4e00d08512a3b072180a8c50ea6f","responseTime":1,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8328954a-b861-4e80-9468-858ee746d6e0/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":"a231daa5d2e4cbbc1a3982365155ad40"} device-1 | {"level":"info","message":"OPTIONS /devices/8328954a-b861-4e80-9468-858ee746d6e0/websocket 200 1ms","method":"OPTIONS","requestID":"a231daa5d2e4cbbc1a3982365155ad40","responseTime":1,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"a8c713a167ab98f45327abf99dadce36"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a8c713a167ab98f45327abf99dadce36","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a8c713a167ab98f45327abf99dadce36"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106421,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"d4d319fbc6f19e42e4b441c4fdf9400b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189995,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a8c713a167ab98f45327abf99dadce36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a8c713a167ab98f45327abf99dadce36","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a8c713a167ab98f45327abf99dadce36"} device-1 | {"level":"info","message":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/websocket 200 14ms","method":"POST","requestID":"a8c713a167ab98f45327abf99dadce36","responseTime":14,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a8c713a167ab98f45327abf99dadce36"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b"} device-1 | {"level":"info","message":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/websocket 200 24ms","method":"POST","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b","responseTime":24,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d4d319fbc6f19e42e4b441c4fdf9400b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"9f5ba9860534702e60ef9a647a6d65cc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f5ba9860534702e60ef9a647a6d65cc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f5ba9860534702e60ef9a647a6d65cc"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644627,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"9f5ba9860534702e60ef9a647a6d65cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9f5ba9860534702e60ef9a647a6d65cc","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.842952606Z"}]},"request_id":"9342cbc2-d0c5-4cc4-91ae-86ed5a582a7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.2398381} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9f5ba9860534702e60ef9a647a6d65cc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f5ba9860534702e60ef9a647a6d65cc"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8328954a-b861-4e80-9468-858ee746d6e0? 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":"9f5ba9860534702e60ef9a647a6d65cc"} device-1 | {"level":"info","message":"GET /devices/8328954a-b861-4e80-9468-858ee746d6e0? 200 8ms","method":"GET","requestID":"9f5ba9860534702e60ef9a647a6d65cc","responseTime":8,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"375119728ee6b9cffca3262234dfa264"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"375119728ee6b9cffca3262234dfa264","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"375119728ee6b9cffca3262234dfa264"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678377,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"375119728ee6b9cffca3262234dfa264","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"375119728ee6b9cffca3262234dfa264","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.933813600Z"}]},"request_id":"6b2789aa-d14e-4dd2-8d02-95866e5aa2fd","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.2519746} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"375119728ee6b9cffca3262234dfa264","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"375119728ee6b9cffca3262234dfa264"} device-1 | {"level":"info","message":"GET /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4? 200 8ms","method":"GET","requestID":"375119728ee6b9cffca3262234dfa264","responseTime":8,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4? 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":"375119728ee6b9cffca3262234dfa264"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"678807a052adf593ec543fe62970a478"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"678807a052adf593ec543fe62970a478","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"678807a052adf593ec543fe62970a478"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.669628,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"678807a052adf593ec543fe62970a478","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"678807a052adf593ec543fe62970a478","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to run experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to book experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully booked experiment","requestID":"678807a052adf593ec543fe62970a478"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b0bacb0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b0bd3c0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.622349,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b0bacb0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b0bacb0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559731,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b0bd3c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b0bd3c0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.842952606Z"}]},"request_id":"dbfc0b14-12c3-452c-9d6a-47d279fd1ee5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.2895925} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1b0bacb0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.933813600Z"}]},"request_id":"5d584e79-b571-4e14-a38a-329ec4da428e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.2902} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1b0bd3c0-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b0bacb0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/8328954a-b861-4e80-9468-858ee746d6e0? 200 10ms","method":"GET","requestID":"1b0bacb0-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b0bd3c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4? 200 10ms","method":"GET","requestID":"1b0bd3c0-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Setting up experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully set up experiment","requestID":"678807a052adf593ec543fe62970a478"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b1a0490-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b1a2ba0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b1a52b0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836384,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully running experiment","requestID":"678807a052adf593ec543fe62970a478"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b1a0490-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1b1a0490-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891691,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b1a2ba0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b1a2ba0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53bd7f56-7322-4929-9dc0-1d6ca89d51b0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.3858535} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.933813600Z"}]},"request_id":"873063f0-d06b-438c-a460-e215c6d9748a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.3870645} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.264226,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b1a52b0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1b1a52b0-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1b1a2ba0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.842952606Z"}]},"request_id":"3a392ff8-9fa3-422f-9650-d8913fa536b9","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.3878198} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b1a0490-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc71581d5-3d3e-459b-85aa-556a756b9aa8#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc71581d5-3d3e-459b-85aa-556a756b9aa8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"d2c157cb-1369-4848-bce7-d3b65fb163a8","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.39134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b27471b7-518c-4dfd-9990-85317f939801","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.3917158} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"678807a052adf593ec543fe62970a478","responseTime":32,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b1a52b0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling 200 38ms","method":"POST","requestID":"1b1a52b0-097c-11f0-96bb-59c96fe0af16","responseTime":38,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b1a2ba0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4? 200 40ms","method":"GET","requestID":"1b1a2ba0-097c-11f0-96bb-59c96fe0af16","responseTime":40,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b1a0490-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/8328954a-b861-4e80-9468-858ee746d6e0? 200 42ms","method":"GET","requestID":"1b1a0490-097c-11f0-96bb-59c96fe0af16","responseTime":42,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b209440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b20bb50-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"678807a052adf593ec543fe62970a478"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"678807a052adf593ec543fe62970a478","responseTime":165,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f91d3133-dff9-483d-ad9c-00249614b04e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.4242811} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.764236,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0577b9c-4840-4818-97f9-027e82f96db1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.4250062} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b209440-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b209440-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.474027,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b20bb50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b20bb50-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"cf89000bf36cc11d1263535897374319"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf89000bf36cc11d1263535897374319","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf89000bf36cc11d1263535897374319"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b209440-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling 200 11ms","method":"POST","requestID":"1b209440-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b20bb50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling 200 10ms","method":"POST","requestID":"1b20bb50-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940769,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cf89000bf36cc11d1263535897374319","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf89000bf36cc11d1263535897374319","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b229010-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.842952606Z"}]},"request_id":"b3db169e-eacc-474c-81d3-9c5eeaa7d7ee","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.436912} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cf89000bf36cc11d1263535897374319","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61c4d110-4032-4c3b-9a35-5b5cc0bef9f5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.4373894} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.511208,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b229010-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b229010-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf89000bf36cc11d1263535897374319"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8328954a-b861-4e80-9468-858ee746d6e0? 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":"cf89000bf36cc11d1263535897374319"} device-1 | {"level":"info","message":"GET /devices/8328954a-b861-4e80-9468-858ee746d6e0? 200 36ms","method":"GET","requestID":"cf89000bf36cc11d1263535897374319","responseTime":36,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"678807a052adf593ec543fe62970a478"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"cba3f426f815c71a4aec72b0dc4dd956"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b229010-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Building connection plan","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a8dbcec0-d7ce-4594-b2ac-77cf744563f9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"105c46a1-a1d3-4c15-983b-370f3024fd69"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3d75fa73-a775-4743-bb0d-c104d9242df6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"678807a052adf593ec543fe62970a478"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"678807a052adf593ec543fe62970a478"} device-1 | {"level":"info","message":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling 200 32ms","method":"POST","requestID":"1b229010-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cba3f426f815c71a4aec72b0dc4dd956","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cba3f426f815c71a4aec72b0dc4dd956"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.604986,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.510182,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"cba3f426f815c71a4aec72b0dc4dd956","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"cba3f426f815c71a4aec72b0dc4dd956","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:45.933813600Z"}]},"request_id":"3d78c7a7-8c19-4156-9bdf-7f4d4a65091f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.4752164} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cba3f426f815c71a4aec72b0dc4dd956","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cba3f426f815c71a4aec72b0dc4dd956"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4? 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":"cba3f426f815c71a4aec72b0dc4dd956"} device-1 | {"level":"info","message":"GET /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4? 200 10ms","method":"GET","requestID":"cba3f426f815c71a4aec72b0dc4dd956","responseTime":10,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4?"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"c0ad52f3-3079-4ca2-88fe-a2c3ededec7d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.478633} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99aeda26-49c3-465a-ab0a-e51d1e0e0884","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.4788194} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0'","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0'","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"1b27c030-097c-11f0-96bb-59c96fe0af16"} 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":"1b27c030-097c-11f0-96bb-59c96fe0af16","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":"1b27c030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","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/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"678807a052adf593ec543fe62970a478"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b363f20-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f638a9b-2e5d-46dc-9932-735c446b26f2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.566231} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162035,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b363f20-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","rebac_allow":false,"scope_allow":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":"1b363f20-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b363f20-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling 200 8ms","method":"POST","requestID":"1b363f20-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b37c5c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15c712f3-ff9b-4d4e-850f-89812e05066d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.576532} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.593016,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b37c5c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b37c5c0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b37c5c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling 200 8ms","method":"POST","requestID":"1b37c5c0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling"} device-1 | {"device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 153862391324332415 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:hQg3\r\na=ice-pwd:6TGfMOENFSnJgLZpfpQG3o07\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9C:46:FF:B8:DB:B4:62:8C:3D:3B:BB:8F:F8:CA:4B:70:E0:68:AD:9B:01:7A:7C:36:0A:08:D5:6A:EF:88:E5:6F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6130207381420459139 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:tyIR\r\na=ice-pwd:VSDHsi0PaSwv1saqEsf6jSJw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 61:22:D3:56:66:DE:42:9C:1C:5F:D3:41:0C:46:6D:DE:69:E6:A5:B5:22:98:86:5F:73:4F:FB:08:A2:E0:59:87\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2981172951 1 udp 2113937151 55ffa155-af62-465a-b431-f0af89b57c93.local 52017 typ host generation 0 ufrag tyIR network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","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/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4'"} device-1 | {"content":{"candidate":"candidate:1987261343 1 udp 2113937151 50cd0acd-665c-4760-aea1-0bea6108f699.local 57390 typ host generation 0 ufrag hQg3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8328954a-b861-4e80-9468-858ee746d6e0","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/143089c9-eb6f-4474-86f9-8ee7bf6d26f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"143089c9-eb6f-4474-86f9-8ee7bf6d26f0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d1712d1ecb8c3dbdf4a68d654723776","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4d1712d1ecb8c3dbdf4a68d654723776","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/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0"}}},"level":"info","message":"received a callback","requestID":"4d1712d1ecb8c3dbdf4a68d654723776"} device-1 | {"device":"8328954a-b861-4e80-9468-858ee746d6e0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"4d1712d1ecb8c3dbdf4a68d654723776","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d1712d1ecb8c3dbdf4a68d654723776"} device-1 | {"data":{"peerconnection":"143089c9-eb6f-4474-86f9-8ee7bf6d26f0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"143089c9-eb6f-4474-86f9-8ee7bf6d26f0","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/143089c9-eb6f-4474-86f9-8ee7bf6d26f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"143089c9-eb6f-4474-86f9-8ee7bf6d26f0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b6754296c2207255889f3d50a840bb5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9b6754296c2207255889f3d50a840bb5","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/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0"}}},"level":"info","message":"received a callback","requestID":"9b6754296c2207255889f3d50a840bb5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"1b4dbec0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F143089c9-eb6f-4474-86f9-8ee7bf6d26f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a85d5b48-b138-4d32-a90f-36088a948b70","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.7199643} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.527805,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b4dbec0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","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":"1b4dbec0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"1b4dbec0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0 200 7ms","method":"GET","requestID":"1b4dbec0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"9b6754296c2207255889f3d50a840bb5","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b6754296c2207255889f3d50a840bb5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b547580-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aae0b6a1-812a-40e8-bb11-147960882fd2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.7638938} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"007519656ef4c828c537572abf642d9d"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.41345,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"007519656ef4c828c537572abf642d9d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b547580-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","requestID":"007519656ef4c828c537572abf642d9d"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1b547580-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b547580-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.677701,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} device-1 | {"level":"info","message":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling 200 8ms","method":"POST","requestID":"1b547580-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"007519656ef4c828c537572abf642d9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"007519656ef4c828c537572abf642d9d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b55d510-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","requestID":"007519656ef4c828c537572abf642d9d"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"331b20ac-1827-4d2b-8f55-399a25057f31","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.773196} gateway-1 | {"time_local":"25/Mar/2025:13:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"007519656ef4c828c537572abf642d9d"} experiment-1 | {"level":"info","message":"GET /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8 200 8ms","method":"GET","requestID":"007519656ef4c828c537572abf642d9d","responseTime":8,"status":200,"url":"/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358622,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b55d510-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","rebac_allow":false,"scope_allow":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":"1b55d510-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b55d510-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling 200 32ms","method":"POST","requestID":"1b55d510-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc","level":"info","message":"auth send jwt","requestID":"410e50963f92f097763f896a55860c0b"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"410e50963f92f097763f896a55860c0b","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","requestID":"410e50963f92f097763f896a55860c0b"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.62997,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"410e50963f92f097763f896a55860c0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"410e50963f92f097763f896a55860c0b","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Attempting to finish experiment","requestID":"410e50963f92f097763f896a55860c0b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"1b5c16a0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.763279,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b5c16a0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908908,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOH0.Vc16UetZ85aqzdoqicfMedlHJx6M-GmWdFtUO1IvZWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b5c16a0-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","device":"1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0","device":"8328954a-b861-4e80-9468-858ee746d6e0","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/143089c9-eb6f-4474-86f9-8ee7bf6d26f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"143089c9-eb6f-4474-86f9-8ee7bf6d26f0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F143089c9-eb6f-4474-86f9-8ee7bf6d26f0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F143089c9-eb6f-4474-86f9-8ee7bf6d26f0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"3b95e10b-9e0e-4eb2-be18-d0d676d3aa81","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.8490264} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f007c0b-40c7-4dc0-a19b-a3531b22206f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.849362} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c40170379800f3ac6f96b311d266cf31","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c40170379800f3ac6f96b311d266cf31","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"1b5c16a0-097c-11f0-96bb-59c96fe0af16","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a2106251a8a034aeb97386994baf4eae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0"}}},"level":"info","message":"received a callback","requestID":"c40170379800f3ac6f96b311d266cf31"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a2106251a8a034aeb97386994baf4eae","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0"}}},"level":"info","message":"received a callback","requestID":"a2106251a8a034aeb97386994baf4eae"} device-1 | {"data":{"peerconnection":"143089c9-eb6f-4474-86f9-8ee7bf6d26f0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"1b5c16a0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0 204 56ms","method":"DELETE","requestID":"1b5c16a0-097c-11f0-96bb-59c96fe0af16","responseTime":56,"status":204,"url":"/peerconnections/143089c9-eb6f-4474-86f9-8ee7bf6d26f0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"},"level":"info","message":"Successfully finished experiment","requestID":"410e50963f92f097763f896a55860c0b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b6a6e80-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a9881ee-9dd3-4dc4-9be7-e916e217be1a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.9102833} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.609815,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b6a6e80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b6a6e80-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b6a6e80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling 200 10ms","method":"POST","requestID":"1b6a6e80-097c-11f0-96bb-59c96fe0af16","responseTime":10,"status":200,"url":"/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1b6c4340-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc71581d5-3d3e-459b-85aa-556a756b9aa8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc71581d5-3d3e-459b-85aa-556a756b9aa8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"e2ce509c-ac74-48ca-9dbe-d57a034ec113","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.919866} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8328954a-b861-4e80-9468-858ee746d6e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"def0393d-b0f9-4033-b1ad-69a53e33c584","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.920005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f9b825c-e1ef-4e1e-83a9-0eecca4b058a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908908.9201262} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"410e50963f92f097763f896a55860c0b","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.433932,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1b6c4340-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8328954a-b861-4e80-9468-858ee746d6e0","object_type":"device","rebac_allow":false,"scope_allow":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":"1b6c4340-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1b6c4340-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling 200 35ms","method":"POST","requestID":"1b6c4340-097c-11f0-96bb-59c96fe0af16","responseTime":35,"status":200,"url":"/devices/8328954a-b861-4e80-9468-858ee746d6e0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8","requestID":"410e50963f92f097763f896a55860c0b"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.267","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"410e50963f92f097763f896a55860c0b"} experiment-1 | {"level":"info","message":"DELETE /experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8 204 240ms","method":"DELETE","requestID":"410e50963f92f097763f896a55860c0b","responseTime":240,"status":204,"url":"/experiments/c71581d5-3d3e-459b-85aa-556a756b9aa8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"c40170379800f3ac6f96b311d266cf31","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"c40170379800f3ac6f96b311d266cf31"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"a2106251a8a034aeb97386994baf4eae","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2106251a8a034aeb97386994baf4eae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOX0.6dPBosAV9rfdt0ieRZb7wlxbzb95Nqn952R-9G3u9AE","level":"info","message":"auth send jwt","requestID":"2eca599b0399f53e043a0801cf187b82"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2eca599b0399f53e043a0801cf187b82","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2eca599b0399f53e043a0801cf187b82"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.843","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"685732821073c5b73d25b54b7a01ff7a"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:49Z"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"0.839","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ed4b6649679719ac7e922bbcf4b95821"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.885069,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2eca599b0399f53e043a0801cf187b82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908909,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOX0.6dPBosAV9rfdt0ieRZb7wlxbzb95Nqn952R-9G3u9AE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2eca599b0399f53e043a0801cf187b82","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/8328954a-b861-4e80-9468-858ee746d6e0' 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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2dd7fc3-ef9b-40b6-b994-a423529f0abb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9f52a308-2484-4499-b8a9-8174a18a6c82","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.0926723} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2eca599b0399f53e043a0801cf187b82","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cd389da-7b1c-47d2-9d4c-a6ea609ce6ef","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.09645} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2eca599b0399f53e043a0801cf187b82","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1881dbcc-fc2e-4ef8-bf2f-9b5f036feba4' closed"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2dd7fc3-ef9b-40b6-b994-a423529f0abb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"1f4d91a9-340d-4ede-bf35-27204837e07a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.107815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d6de928-7046-49a8-b96e-b77fe4e76aa6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.1080463} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2eca599b0399f53e043a0801cf187b82","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2dd7fc3-ef9b-40b6-b994-a423529f0abb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2dd7fc3-ef9b-40b6-b994-a423529f0abb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.107780492Z"}]},"request_id":"be95429f-32bb-4c07-b46c-c859b0d9b9fb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.1113722} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2eca599b0399f53e043a0801cf187b82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2eca599b0399f53e043a0801cf187b82"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"2eca599b0399f53e043a0801cf187b82","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2eca599b0399f53e043a0801cf187b82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOX0.6dPBosAV9rfdt0ieRZb7wlxbzb95Nqn952R-9G3u9AE","level":"info","message":"auth send jwt","requestID":"f218c15de0d2a555e8a11b2c3727d59a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f218c15de0d2a555e8a11b2c3727d59a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f218c15de0d2a555e8a11b2c3727d59a"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.60527,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"f218c15de0d2a555e8a11b2c3727d59a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908909,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkwOX0.6dPBosAV9rfdt0ieRZb7wlxbzb95Nqn952R-9G3u9AE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f218c15de0d2a555e8a11b2c3727d59a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7310f869-8866-45c0-a827-82cdfbc353e0","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.155979} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f218c15de0d2a555e8a11b2c3727d59a","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c520639-ad4c-4af3-896d-f43aa64a43f2","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.1597302} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f218c15de0d2a555e8a11b2c3727d59a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"caeaa317-280d-452f-90cd-80bcac8a85d7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.1928627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb0a6917-2ce5-4549-8468-9375cff8348e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.193001} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"f218c15de0d2a555e8a11b2c3727d59a","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.192838022Z"}]},"request_id":"f8907d25-423e-4364-a8ce-0161fcc80a8a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908909.1971138} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f218c15de0d2a555e8a11b2c3727d59a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f218c15de0d2a555e8a11b2c3727d59a"} gateway-1 | {"time_local":"25/Mar/2025:13:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f218c15de0d2a555e8a11b2c3727d59a"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"f218c15de0d2a555e8a11b2c3727d59a","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"116c8664060f547c6ae8a644b1937578","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"116c8664060f547c6ae8a644b1937578","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/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":"116c8664060f547c6ae8a644b1937578"} device-1 | {"level":"info","message":"OPTIONS /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/websocket 200 1ms","method":"OPTIONS","requestID":"116c8664060f547c6ae8a644b1937578","responseTime":1,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw","level":"info","message":"auth send jwt","requestID":"253482bfce1577ed752af83aa25848bd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"253482bfce1577ed752af83aa25848bd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"253482bfce1577ed752af83aa25848bd"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212772,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"253482bfce1577ed752af83aa25848bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"253482bfce1577ed752af83aa25848bd","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"253482bfce1577ed752af83aa25848bd"} gateway-1 | {"time_local":"25/Mar/2025:13:21:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"253482bfce1577ed752af83aa25848bd"} device-1 | {"level":"info","message":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/websocket 200 20ms","method":"POST","requestID":"253482bfce1577ed752af83aa25848bd","responseTime":20,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw","level":"info","message":"auth send jwt","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165396,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"7645b73385b16d5dc199b5a8fcc9e9f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.192838022Z"}]},"request_id":"407af66b-3dde-4758-9a78-8ea82988a0f7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.4906337} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2"} device-1 | {"level":"info","message":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? 200 9ms","method":"GET","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2","responseTime":9,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7645b73385b16d5dc199b5a8fcc9e9f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw","level":"info","message":"auth send jwt","requestID":"a1acf334cb341edefa075a0eb7cfe671"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1acf334cb341edefa075a0eb7cfe671","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a1acf334cb341edefa075a0eb7cfe671"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.730797,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"a1acf334cb341edefa075a0eb7cfe671","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1acf334cb341edefa075a0eb7cfe671","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to run experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to book experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully booked experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1cfca740-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1cfcce50-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.629446,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1cfca740-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1cfca740-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713788,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1cfcce50-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1cfcce50-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2dd7fc3-ef9b-40b6-b994-a423529f0abb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2dd7fc3-ef9b-40b6-b994-a423529f0abb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.107780492Z"}]},"request_id":"596d0ce2-3c1c-4ff5-9950-487521fa9e33","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.5465655} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1cfca740-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.192838022Z"}]},"request_id":"b53e49ae-0900-4590-a71e-2ba3992b2bb6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.5473785} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1cfcce50-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1cfca740-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb? 200 11ms","method":"GET","requestID":"1cfca740-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1cfcce50-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? 200 11ms","method":"GET","requestID":"1cfcce50-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Setting up experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634758,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"be692dbe-c1a0-4d94-a357-822e4300257d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.6339831} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53f2c1e9-0bdd-49fa-87b7-f31184abeb43","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.634159} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b' to 'http://localhost/callbacks/experiment'","requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16"} authentication-1 | {"level":"info","message":"POST /token 201 13ms","method":"POST","requestID":"1d0bc270-097c-11f0-95c9-879ec5962b4d","responseTime":13,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 64ms","method":"POST","requestID":"1d046f70-097c-11f0-96bb-59c96fe0af16","responseTime":64,"status":201,"url":"/devices/e2dd7fc3-ef9b-40b6-b994-a423529f0abb?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully set up experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d1a8f80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d1ab690-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d1adda0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707844,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully running experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1d1a8f80-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d1a8f80-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46668","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810484,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1d1ab690-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d1ab690-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d89e74d9-1a80-4eb0-baea-faf7abec42c5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.7441647} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.192838022Z"}]},"request_id":"d45e050e-1390-4420-83ce-4a401879423f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.7457123} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.765697,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1d1adda0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1d1adda0-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d1ab690-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:51.633952612Z"}]},"request_id":"b3dc6b37-e838-4907-8fa1-b45eb883328b","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.74673} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d1a8f80-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b\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/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"1d1adda0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling 404 13ms","method":"POST","requestID":"1d1adda0-097c-11f0-96bb-59c96fe0af16","responseTime":13,"status":404,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d1ab690-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? 200 15ms","method":"GET","requestID":"1d1ab690-097c-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d1a8f80-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b? 200 41ms","method":"GET","requestID":"1d1a8f80-097c-11f0-96bb-59c96fe0af16","responseTime":41,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b?"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"1d20f820-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd7c0951e-534a-41cb-8c28-6457a24f7acf#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd7c0951e-534a-41cb-8c28-6457a24f7acf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"cb5de0f2-6b89-4fc6-8a27-e0aa45d4657a","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.7782598} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11128712-c6a7-4a82-a978-79889e6300f6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.7783842} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a1acf334cb341edefa075a0eb7cfe671","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdf240a8-8de5-43f3-a835-2eb77a99d181","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908911.7833686} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.443682,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1d20f820-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1d20f820-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"1d20f820-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","user":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling 200 9ms","method":"POST","requestID":"1d20f820-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 286ms","method":"POST","requestID":"a1acf334cb341edefa075a0eb7cfe671","responseTime":286,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Mar/2025:13:21:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.292","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1acf334cb341edefa075a0eb7cfe671"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aed2caa0cd7f06249b8e4dc65c453322","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aed2caa0cd7f06249b8e4dc65c453322","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Mar/2025:13:21:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/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":"aed2caa0cd7f06249b8e4dc65c453322"} device-1 | {"level":"info","message":"OPTIONS /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/websocket 200 1ms","method":"OPTIONS","requestID":"aed2caa0cd7f06249b8e4dc65c453322","responseTime":1,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6ImstcGlVQkRCSkZYcHN6WVVYakQ2TjgtdWZRVElCZGl6UTAwMTFXMVJXUEg2VzV5cVk3OUUxX0NZdi1aU2NtNEVIM0d4d3NpZjJlWFZNQlcwLVY1elBBIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxNH0.9QHABUKYqMXbNGvzB468XlJYJIGoAmG4nhYqu7hMxFA","level":"info","message":"auth send jwt","requestID":"e82caf40d016f755911daa5ffe100763"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e82caf40d016f755911daa5ffe100763","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e82caf40d016f755911daa5ffe100763"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181776,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"e82caf40d016f755911daa5ffe100763","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","payload":{"admin":true,"edgeToken":"k-piUBDBJFXpszYUXjD6N8-ufQTIBdizQ0011W1RWPH6W5yqY79E1_CYv-ZScm4EH3Gxwsif2eXVMBW0-V5zPA","iat":1742908914,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6ImstcGlVQkRCSkZYcHN6WVVYakQ2TjgtdWZRVElCZGl6UTAwMTFXMVJXUEg2VzV5cVk3OUUxX0NZdi1aU2NtNEVIM0d4d3NpZjJlWFZNQlcwLVY1elBBIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxNH0.9QHABUKYqMXbNGvzB468XlJYJIGoAmG4nhYqu7hMxFA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e82caf40d016f755911daa5ffe100763","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e82caf40d016f755911daa5ffe100763"} device-1 | {"level":"info","message":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/websocket 200 21ms","method":"POST","requestID":"e82caf40d016f755911daa5ffe100763","responseTime":21,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/websocket"} gateway-1 | {"time_local":"25/Mar/2025:13:21:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e82caf40d016f755911daa5ffe100763"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5bbb3027a9882c70b540d59fe2897bd8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5bbb3027a9882c70b540d59fe2897bd8","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/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"5bbb3027a9882c70b540d59fe2897bd8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxNH0.Fu-trU9yE7K4F4Yr_kEPDBPXTTwJlPBqiuS0mhYeZEQ","level":"info","message":"auth send jwt","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637656,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"680a7fb3cb7cf9a109d02f039eb7ad32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908914,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxNH0.Fu-trU9yE7K4F4Yr_kEPDBPXTTwJlPBqiuS0mhYeZEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:51.633952612Z"}]},"request_id":"deb22889-aae0-4421-8d44-16eb65c900ff","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908914.0787847} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"5bbb3027a9882c70b540d59fe2897bd8","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"5bbb3027a9882c70b540d59fe2897bd8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32"} gateway-1 | {"time_local":"25/Mar/2025:13:21:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b? 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":"680a7fb3cb7cf9a109d02f039eb7ad32"} device-1 | {"level":"info","message":"GET /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b? 200 10ms","method":"GET","requestID":"680a7fb3cb7cf9a109d02f039eb7ad32","responseTime":10,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxNH0.Fu-trU9yE7K4F4Yr_kEPDBPXTTwJlPBqiuS0mhYeZEQ","level":"info","message":"auth send jwt","requestID":"bb2d9a700010fb42e3e485fc344f7f9e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb2d9a700010fb42e3e485fc344f7f9e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb2d9a700010fb42e3e485fc344f7f9e"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635452,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"bb2d9a700010fb42e3e485fc344f7f9e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908914,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxNH0.Fu-trU9yE7K4F4Yr_kEPDBPXTTwJlPBqiuS0mhYeZEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bb2d9a700010fb42e3e485fc344f7f9e","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.192838022Z"}]},"request_id":"0602379c-a379-410a-bb37-523bbc17ff27","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908914.0942233} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb2d9a700010fb42e3e485fc344f7f9e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb2d9a700010fb42e3e485fc344f7f9e"} gateway-1 | {"time_local":"25/Mar/2025:13:21:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? 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":"bb2d9a700010fb42e3e485fc344f7f9e"} device-1 | {"level":"info","message":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? 200 11ms","method":"GET","requestID":"bb2d9a700010fb42e3e485fc344f7f9e","responseTime":11,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"201cabf0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"201cd300-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298029,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"201cabf0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"201cabf0-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.396857,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"201cd300-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"201cd300-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:51.633952612Z"}]},"request_id":"a403e2db-294d-46d1-b864-8b2d359a8dba","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.7949107} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"201cabf0-097c-11f0-96bb-59c96fe0af16","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:51792","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"},"timestamp":"2025-03-25T13:21:49.192838022Z"}]},"request_id":"aa6b512c-dd25-4751-b879-99c5ac56c593","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.795465} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"201cd300-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"201cabf0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b? 200 15ms","method":"GET","requestID":"201cabf0-097c-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"201cd300-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /devices/5208cd73-a595-422e-9c31-a5619b70ab1d? 200 15ms","method":"GET","requestID":"201cd300-097c-11f0-96bb-59c96fe0af16","responseTime":15,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"201f9220-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8ae216d-ba55-43d2-ab1f-0b2ab73908b5","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.8093364} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.548321,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"201f9220-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"201f9220-097c-11f0-96bb-59c96fe0af16","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"201f9220-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling 200 11ms","method":"POST","requestID":"201f9220-097c-11f0-96bb-59c96fe0af16","responseTime":11,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"20218df0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4b344d1-e24e-4764-b2b2-52da3655237e","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.821626} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.326893,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"20218df0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"20218df0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"20218df0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling 200 12ms","method":"POST","requestID":"20218df0-097c-11f0-96bb-59c96fe0af16","responseTime":12,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Building connection plan","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"73727e2a-3ca4-4e8a-a106-3383eddca41d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3b7a8e0a-ed9a-4f73-ac7e-5057905bcdda"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8cf97396-34a9-4620-89ba-5a374c28b4f5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a1acf334cb341edefa075a0eb7cfe671"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.665629,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908911,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxMX0.N4HML4bchWuvdi7IUhzF2v1WzCEw-Oi9V5b5KMVMPgw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","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%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]}},"raw_response":{},"request_id":"7a02470a-0420-452e-bdcc-0d27c4dc1679","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.8393042} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7267b125-e69d-47c2-a49a-e58237169763","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.8396747} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7'","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7'","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 20ms","method":"POST","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16","responseTime":20,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2023d7e0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","device":"5208cd73-a595-422e-9c31-a5619b70ab1d","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/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","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/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a1acf334cb341edefa075a0eb7cfe671"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"202b2ae0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93aaa36d-7117-4cf4-a7a5-91bc3b184637","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.8818357} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.68236,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"202b2ae0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"202b2ae0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"202b2ae0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling 200 9ms","method":"POST","requestID":"202b2ae0-097c-11f0-96bb-59c96fe0af16","responseTime":9,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling"} device-1 | {"content":{"canTrickle":true},"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"202efb70-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a6d9cbe-63e4-4da5-b0be-2f632f4bd513","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908916.9077063} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392755,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"202efb70-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"202efb70-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"202efb70-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling 200 8ms","method":"POST","requestID":"202efb70-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3986409030079186438 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:Hjx/\r\na=ice-pwd:q+FfqqiwVSWytwQC4fURDBA5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B6:80:6B:86:7C:9E:E8:71:7E:23:04:C9:1F:F0:6F:16:65:18:38:83:2C:9C:6F:B9:6A:6C:25:26:35:05:06:C2\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 2049554932133913155 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:899x\r\na=ice-pwd:g+wcdxqfFeitrZFiB8Lp6Pru\r\na=ice-options:trickle\r\na=fingerprint:sha-256 88:60:8D:22:E5:D1:FA:97:16:13:DF:1A:D1:56:33:B5:10:7C:93:A5:9C:27:61:16:69:EB:00:00:C3:11:3F:6A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2466208241 1 udp 2113937151 a1347c87-1868-4d3a-b80b-18e5edbb840d.local 54616 typ host generation 0 ufrag 899x network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","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/5208cd73-a595-422e-9c31-a5619b70ab1d'"} device-1 | {"content":{"candidate":"candidate:3559946696 1 udp 2113937151 edd6df28-5965-4a5c-9886-f30cf5934ed7.local 56714 typ host generation 0 ufrag Hjx/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","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/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"26b5b7a130e660db3cc5f04441022360","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"26b5b7a130e660db3cc5f04441022360","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7"}}},"level":"info","message":"received a callback","requestID":"26b5b7a130e660db3cc5f04441022360"} device-1 | {"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"26b5b7a130e660db3cc5f04441022360","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"26b5b7a130e660db3cc5f04441022360"} device-1 | {"data":{"peerconnection":"ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","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/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98a6b70281c7c31986aef76b2c42ac8b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"98a6b70281c7c31986aef76b2c42ac8b","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/5208cd73-a595-422e-9c31-a5619b70ab1d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7"}}},"level":"info","message":"received a callback","requestID":"98a6b70281c7c31986aef76b2c42ac8b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"20417200-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab00d067-fb0d-4a8e-a4de-97a4e244b4d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d664b0f-8c6a-4196-9a95-00af2b1e2b23","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.0283697} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.290489,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"20417200-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","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":"20417200-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"20417200-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"GET /peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7 200 7ms","method":"GET","requestID":"20417200-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":200,"url":"/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxN30.sjc1Jtu42aHp6rQaGK5hYKuKgZdWzYVxLJsCvd0oOL4","level":"info","message":"auth send jwt","requestID":"4c6d48f5911d3de99a7db8ac0e41319b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4c6d48f5911d3de99a7db8ac0e41319b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"98a6b70281c7c31986aef76b2c42ac8b","responseTime":47,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","requestID":"4c6d48f5911d3de99a7db8ac0e41319b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"204828c0-097c-11f0-96bb-59c96fe0af16"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"98a6b70281c7c31986aef76b2c42ac8b"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57166","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.582089,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"4c6d48f5911d3de99a7db8ac0e41319b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908917,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxN30.sjc1Jtu42aHp6rQaGK5hYKuKgZdWzYVxLJsCvd0oOL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4c6d48f5911d3de99a7db8ac0e41319b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e320082-af95-4c55-99ae-f3b83c86c2ec","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.0724947} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.240429,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"204828c0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"204828c0-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"204828c0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling 200 8ms","method":"POST","requestID":"204828c0-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"20498850-097c-11f0-96bb-59c96fe0af16"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","requestID":"4c6d48f5911d3de99a7db8ac0e41319b"} gateway-1 | {"time_local":"25/Mar/2025:13:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c6d48f5911d3de99a7db8ac0e41319b"} experiment-1 | {"level":"info","message":"GET /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf 200 11ms","method":"GET","requestID":"4c6d48f5911d3de99a7db8ac0e41319b","responseTime":11,"status":200,"url":"/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06751160-0331-46ed-9a63-0f2f2c1b7cf7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.105915} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.704067,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxN30.sjc1Jtu42aHp6rQaGK5hYKuKgZdWzYVxLJsCvd0oOL4","level":"info","message":"auth send jwt","requestID":"1a77edc6b503b719367d53f0070b6e1f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"20498850-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","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":"1a77edc6b503b719367d53f0070b6e1f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"20498850-097c-11f0-96bb-59c96fe0af16","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","requestID":"1a77edc6b503b719367d53f0070b6e1f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"20498850-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling 200 32ms","method":"POST","requestID":"20498850-097c-11f0-96bb-59c96fe0af16","responseTime":32,"status":200,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.721189,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"1a77edc6b503b719367d53f0070b6e1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"experiment:http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","object_type":"experiment","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908917,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxN30.sjc1Jtu42aHp6rQaGK5hYKuKgZdWzYVxLJsCvd0oOL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1a77edc6b503b719367d53f0070b6e1f","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Attempting to finish experiment","requestID":"1a77edc6b503b719367d53f0070b6e1f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"204f7bc0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.699425,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"204f7bc0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"peerconnection:http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908917,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxN30.sjc1Jtu42aHp6rQaGK5hYKuKgZdWzYVxLJsCvd0oOL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"204f7bc0-097c-11f0-96bb-59c96fe0af16","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","device":"5208cd73-a595-422e-9c31-a5619b70ab1d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","device":"7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","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/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab00d067-fb0d-4a8e-a4de-97a4e244b4d7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab00d067-fb0d-4a8e-a4de-97a4e244b4d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"254748cd-c05b-4ee9-9bd1-87016bf1ff34","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.1282802} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"846edb53446e82e512ec14a4f230b488","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"846edb53446e82e512ec14a4f230b488","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:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05db9305-f58a-4fe9-bddc-4b9d8c9f6ccb","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.1286013} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"204f7bc0-097c-11f0-96bb-59c96fe0af16","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d02c62121a3e3fec6336a2a653acbe83","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/5208cd73-a595-422e-9c31-a5619b70ab1d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7"}}},"level":"info","message":"received a callback","requestID":"846edb53446e82e512ec14a4f230b488"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d02c62121a3e3fec6336a2a653acbe83","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/5208cd73-a595-422e-9c31-a5619b70ab1d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7"}}},"level":"info","message":"received a callback","requestID":"d02c62121a3e3fec6336a2a653acbe83"} device-1 | {"data":{"peerconnection":"ab00d067-fb0d-4a8e-a4de-97a4e244b4d7","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"204f7bc0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7 204 53ms","method":"DELETE","requestID":"204f7bc0-097c-11f0-96bb-59c96fe0af16","responseTime":53,"status":204,"url":"/peerconnections/ab00d067-fb0d-4a8e-a4de-97a4e244b4d7"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"2057e030-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788905,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2057e030-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","payload":{"admin":true,"edgeToken":"6DYXrmGsWUP0wo9p7FRM5-20FTlMe9PoZv9MpQuZ1uKgmsU-pdNx_DZufq_NARYYqK99yYUoF1kGW9hF4FKp2w","iat":1742908917,"sub":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7","subject_alt":"http://localhost/users/bcc1b898-5565-4231-8740-fdc362d2a7b7"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JjYzFiODk4LTU1NjUtNDIzMS04NzQwLWZkYzM2MmQyYTdiNyIsImVkZ2VUb2tlbiI6IjZEWVhybUdzV1VQMHdvOXA3RlJNNS0yMEZUbE1lOVBvWnY5TXBRdVoxdUtnbXNVLXBkTnhfRFp1ZnFfTkFSWVlxSzk5eVlVb0Yxa0dXOWhGNEZLcDJ3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjkwODkxN30.sjc1Jtu42aHp6rQaGK5hYKuKgZdWzYVxLJsCvd0oOL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2057e030-097c-11f0-96bb-59c96fe0af16","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"2b3b81d4-c75a-4934-a77b-5f7ac34f7151","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.2047644} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a58e77a7-a506-42bd-ac5b-a9b66ca458f1","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.2050257} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2057e030-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"2057e030-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"DELETE /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b 204 43ms","method":"DELETE","requestID":"2057e030-097c-11f0-96bb-59c96fe0af16","responseTime":43,"status":204,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"},"level":"info","message":"Successfully finished experiment","requestID":"1a77edc6b503b719367d53f0070b6e1f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2063c710-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5208cd73-a595-422e-9c31-a5619b70ab1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac56e479-3a54-4a37-8524-1b7bfdce1d7f","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.25408} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.280964,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"2063c710-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2063c710-097c-11f0-96bb-59c96fe0af16","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2063c710-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling 200 8ms","method":"POST","requestID":"2063c710-097c-11f0-96bb-59c96fe0af16","responseTime":8,"status":200,"url":"/devices/5208cd73-a595-422e-9c31-a5619b70ab1d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"20654db0-097c-11f0-96bb-59c96fe0af16"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd7c0951e-534a-41cb-8c28-6457a24f7acf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd7c0951e-534a-41cb-8c28-6457a24f7acf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbcc1b898-5565-4231-8740-fdc362d2a7b7"}]},"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","writes":null},"raw_response":{},"request_id":"a3515c3b-b425-41a3-acd9-1555c4bb6d83","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.260594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store_id":"01JQ6QABDAEXHD01YETTNPRWWV"},"raw_response":{"authorization_model":{"id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00c5e4ba-933b-4d38-895a-ddd89151d68d","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.2607198} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"1a77edc6b503b719367d53f0070b6e1f","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:51792","raw_request":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","contextual_tuples":null,"store_id":"01JQ6QABDAEXHD01YETTNPRWWV","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9234a001-cf2a-4a12-818b-009813d09be6","store_id":"01JQ6QABDAEXHD01YETTNPRWWV","subsystem":"openfga","timestamp":1742908917.262977} authorization-1 | {"client_addr":"127.0.0.1:56432","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272815,"resp_status":200,"subsystem":"opa","time":"2025-03-25T13:21:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","openfga":{"authorization_model_id":"01JQ6QABEZZQZ2B1HPT52A1ZD7","store":"01JQ6QABDAEXHD01YETTNPRWWV"},"requestID":"20654db0-097c-11f0-96bb-59c96fe0af16","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b","object_type":"device","rebac_allow":false,"scope_allow":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":"20654db0-097c-11f0-96bb-59c96fe0af16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"20654db0-097c-11f0-96bb-59c96fe0af16"} device-1 | {"level":"info","message":"POST /devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/signaling 404 7ms","method":"POST","requestID":"20654db0-097c-11f0-96bb-59c96fe0af16","responseTime":7,"status":404,"url":"/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b/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":"1a77edc6b503b719367d53f0070b6e1f"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf","requestID":"1a77edc6b503b719367d53f0070b6e1f"} gateway-1 | {"time_local":"25/Mar/2025:13:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.281","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a77edc6b503b719367d53f0070b6e1f"} experiment-1 | {"level":"info","message":"DELETE /experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf 204 255ms","method":"DELETE","requestID":"1a77edc6b503b719367d53f0070b6e1f","responseTime":255,"status":204,"url":"/experiments/d7c0951e-534a-41cb-8c28-6457a24f7acf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 210ms","method":"POST","requestID":"846edb53446e82e512ec14a4f230b488","responseTime":210,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"846edb53446e82e512ec14a4f230b488"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 210ms","method":"POST","requestID":"d02c62121a3e3fec6336a2a653acbe83","responseTime":210,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21: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.212","http_referrer":"","http_user_agent":"node-fetch","requestID":"d02c62121a3e3fec6336a2a653acbe83"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5208cd73-a595-422e-9c31-a5619b70ab1d' closed"} gateway-1 | {"time_local":"25/Mar/2025:13:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"5.916","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5447c9892038c3ead5fa94341ed31ef0"} gateway-1 | {"time_local":"25/Mar/2025:13:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2098","request_time":"3.325","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1cefd30a54b0f518fbefac606fbb497e"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"02f5333f51c44417b4bb14755aa1f574","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"02f5333f51c44417b4bb14755aa1f574","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/7e9dd88d-a9e9-42c2-8df0-a2eaf9f1311b"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"02f5333f51c44417b4bb14755aa1f574"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"02f5333f51c44417b4bb14755aa1f574","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Mar/2025:13:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"02f5333f51c44417b4bb14755aa1f574"} device-1 exited with code 143 authorization-1 exited with code 0 federation-1 exited with code 143 experiment-1 exited with code 143 authentication-1 exited with code 143 gateway-1 exited with code 0